对SQL Server 2008 R2的FluentNhibernate支持

对SQL Server 2008 R2的FluentNhibernate支持,nhibernate,fluent-nhibernate,sql-server-2008-r2,Nhibernate,Fluent Nhibernate,Sql Server 2008 R2,我想用SQLServer2008R2实现一个流畅的Nhibernate应用程序 我不清楚Fluent Nhibernate 1.2是否支持SQL Server 2008 R2 If支持什么样的配置。它看起来像下面吗 var config = Fluently.Configure() .Database( MsSqlConfiguration .MsSql2008R2

我想用SQLServer2008R2实现一个流畅的Nhibernate应用程序

我不清楚Fluent Nhibernate 1.2是否支持SQL Server 2008 R2

If支持什么样的配置。它看起来像下面吗

var config = Fluently.Configure()
                .Database(
                    MsSqlConfiguration
                    .MsSql2008R2
                    .ConnectionString(@"Data Source=.\SQLEXPRESS;AttachDbFilename='FNHLD.mdf';Integrated Security=True;User Instance=True"))
                    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<NHibernateRepository<T>>())
                .BuildConfiguration();
var config=fluntly.Configure()
.数据库(
MSSQL配置
.MSSQLS008R2
.ConnectionString(@“数据源=。\SQLEXPRESS;AttachDbFilename='FNHLD.mdf';集成安全性=True;用户实例=True”))
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf())
.BuildConfiguration();

实际上,我使用此配置连接到SQL Server 2008 R2 SP1数据库时没有出现问题:

            var nhConfig = Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2008
                          .ConnectionString(connstr => connstr.FromConnectionStringWithKey("DBConnectionString"))
                          .ShowSql())//<-I use this for debug
            .Cache(c => c
                            .UseQueryCache()
                            .UseMinimalPuts()
                            .ProviderClass<HashtableCacheProvider>())//<--Cache Level Two
            .Mappings(m => m.FluentMappings
                               .AddFromAssemblyOf<Avaruz.Artemisa.Domain.Apm>())
            .CurrentSessionContext<WebSessionContext>()
            .BuildConfiguration();
var nhConfig=fluntly.Configure()
.数据库(MsSqlConfiguration.MsSql2008
.ConnectionString(connstr=>connstr.FromConnectionStringWithKey(“DBConnectionString”))
.ShowSql())/c
.UseQueryCache()
.usemplots()文件
.ProviderClass())//m.FluentMappings
.AddFromAssemblyOf())
.CurrentSessionContext()
.BuildConfiguration();

实际上,我使用此配置连接到SQL Server 2008 R2 SP1数据库时没有出现问题:

            var nhConfig = Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2008
                          .ConnectionString(connstr => connstr.FromConnectionStringWithKey("DBConnectionString"))
                          .ShowSql())//<-I use this for debug
            .Cache(c => c
                            .UseQueryCache()
                            .UseMinimalPuts()
                            .ProviderClass<HashtableCacheProvider>())//<--Cache Level Two
            .Mappings(m => m.FluentMappings
                               .AddFromAssemblyOf<Avaruz.Artemisa.Domain.Apm>())
            .CurrentSessionContext<WebSessionContext>()
            .BuildConfiguration();
var nhConfig=fluntly.Configure()
.数据库(MsSqlConfiguration.MsSql2008
.ConnectionString(connstr=>connstr.FromConnectionStringWithKey(“DBConnectionString”))
.ShowSql())/c
.UseQueryCache()
.usemplots()文件
.ProviderClass())//m.FluentMappings
.AddFromAssemblyOf())
.CurrentSessionContext()
.BuildConfiguration();

我也使用MsSqlConfiguration.MsSql2008。翻阅2008R2的发行说明,我看不到任何需要不同方言的功能。

我也使用MSSQLSConfiguration.MSSQLS2008。浏览2008R2的发行说明,我看不到任何需要不同方言的功能。

事实上,即使是MsSql2005方言也可以在SQL Server 2008 R2上使用

也就是说,如果您在SQL Server 2008数据库上使用MsSql2005方言,NHibernate only将无法使用SQL Server 2008新增的有关日期/时间的其他类型

为了好玩,以下是2000-2012 SQL Server方言源代码的链接:




你可以看到那里的图案。MSSQLS2000是一种主要的方言。MSSQLS2005继承自MSSQLS2005,并有两个覆盖。MSSQLS2008继承自MSSQLS2005,也很少有覆盖。MSSQLS2012继承自MSSQLS2008


SQLServerR2有点像一个服务包。数据库引擎本身没有太多变化,因此不需要使用单独的方言。使用2005或2008方言都可以。事实上,即使MsSql2005方言也可以在SQL Server 2008 R2上使用

也就是说,如果您在SQL Server 2008数据库上使用MsSql2005方言,NHibernate only将无法使用SQL Server 2008新增的有关日期/时间的其他类型

为了好玩,以下是2000-2012 SQL Server方言源代码的链接:




你可以看到那里的图案。MSSQLS2000是一种主要的方言。MSSQLS2005继承自MSSQLS2005,并有两个覆盖。MSSQLS2008继承自MSSQLS2005,也很少有覆盖。MSSQLS2012继承自MSSQLS2008

SQLServerR2有点像一个服务包。数据库引擎本身没有太多变化,因此不需要使用单独的方言。用2005年或2008年的方言,你会很好