我刚从NuGet安装了以下最新的软件包:
FluentNHibernate.1.3.0.733 NHibernate.3.3.2.4000(FNH需要)
我正在尝试使用SQL 2012(本机)运行我们的ASP.NET MVC 3应用程序。
以下代码取自构建我们的nhibernate Session的方法:
var sqlConfig = MsSqlConfiguration.MsSql2005.ConnectionString(ConnectionString).AdoNetBatchSize(30);
我们还使用此方法使用代码优先方法配置新的emtpy DB。
我需要使用SQL 2012拨号,但最新的FNH或NHibernate都没有来自NuGet。
有人在Git中为这些代码保存代码的状态吗?我可以看到FNH合并了这个2012年的对话是在7个月前完成的(最新的NuGet发布后一个月)。
其他人正在做什么来连接到SQL 2012?
有谁知道下一个NuGet packagaes何时可用?
答案 0 :(得分:3)
只需使用SQL Server 2008方言即可。我不知道2012年会有任何需要更新方言的变化。
答案 1 :(得分:3)
它已经得到了NHibernate核心的支持,所以只需要使用MsSql2012Dialect
:
var sqlConfig = MsSqlConfiguration.MsSql2005.Dialect<MsSql2012Dialect>();
在最新版本发布后不久, MsSqlConfiguration.MsSql2012
被added发送给Fluent,因此您可以根据需要获取源代码,但最终结果是相同的。
答案 2 :(得分:0)
我目前的设置是使用NHibernate(3.3.2.4000)和FluentNHibernate(1.3.0.733),我的连接设置的第一部分就是这样,随意根据您的需要进行调整。请注意,即使我使用MsSql2008
配置类拉取连接字符串,我也将我的方言设置为MsSql2012Dialect
var cfg = Fluent.NHibernate.Cfg.Fluently.Configure()
.Database(FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008
.ConnectionString(c => c.FromConnectionStringWithKey("KeyName"))
#if DEBUG
.ShowSql()
.FormatSql()
#endif
.Dialect<NHibernate.Dialect.MsSql2012Dialect>()
.AdoNetBatchSize(50)
)
//Other chained methods (for setting up cache, mappings, etc)
//.Mappings(m =>
//{
//
//}
var sessionFactory = cfg.BuildSessionFactory();
从我所看到的2012 Dialect只增加对Sequences
的支持并将iif
注册为函数。