流畅的NHibernate / NHibernate通过NuGet for SQL 2012

时间:2013-02-26 14:00:00

标签: asp.net-mvc-3 nhibernate fluent-nhibernate sql-server-2012

我刚从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何时可用?

3 个答案:

答案 0 :(得分:3)

只需使用SQL Server 2008方言即可。我不知道2012年会有任何需要更新方言的变化。

答案 1 :(得分:3)

它已经得到了NHibernate核心的支持,所以只需要使用MsSql2012Dialect

var sqlConfig = MsSqlConfiguration.MsSql2005.Dialect<MsSql2012Dialect>();
在最新版本发布后不久,

MsSqlConfiguration.MsSql2012added发送给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注册为函数。