The third-party Fluent NHibernate library has its own syntax to configure NHibernate. In this recipe, we'll show you how to configure NHibernate using this syntax.
ConfigByFNH
.ConfigByFNH
project using NuGet Package Manager Console.FluentNHibernate
to ConfigByFNH
project using NuGet Package Manager Console.ConfigByFNH
, add a reference to the Eg.Core
project.App.config
file with this configuration:<?xml version="1.0" encoding="utf-8"?> <configuration> <connectionStrings> <add name="db" connectionString="Server=.SQLEXPRESS; Database=NHCookbook; Trusted_Connection=SSPI" /> </connectionStrings> </configuration>
Program.cs
, add the following using
statements:using FluentNHibernate.Cfg; using FluentNHibernate.Cfg.Db;
Main
method, add this code:var config = MsSqlConfiguration.MsSql2012 .ConnectionString(connstr => connstr.FromConnectionStringWithKey("db")) .AdoNetBatchSize(100); var nhConfig = Fluently.Configure() .Database(config) .BuildConfiguration(); var sessionFactory = nhConfig.BuildSessionFactory(); Console.WriteLine("NHibernate configured fluently!"); Console.ReadKey();
Our fluent configuration can be broken down into three parts. First, we configure these properties:
dialect
property to MsSql2012Dialect
when we use the MsSql2012
static property of MsSqlConfiguration
.connection.connection_string_name
object is set to db
with a call to FromConnectionStringWithKey
.adonet.batch_size
to 100 with a call to AdoNetBatchSize
.Next, from the fluent configuration, we build a standard NHibernate configuration. Finally, we build a session factory using the BuildSessionFactory
method.
18.227.46.69