MVC 6 .NET Nhibernate DNX 核心 5.0 - 不可用

MVC 6 .NET Nhibernate DNX core 5.0 - Not available

我将添加到 Fluent 和 Fluent NHibernate 项目中,并且在 Fluently 上: Project.DNX 核心 5.0 - 不可用。

ISessionFactory sessionFactory = Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2012

我不知道该怎么办。

据我所知,NHibernate 现在只能在 dnx451 框架上运行。如果您正在为 Windows 编译它,您可以从 project.json

中的框架中删除 dnxcore50

如果你不想编辑 project.json 你可以输入,

#if DNX451
//whatever code is giving issue with DNX Core 5.0
#endif

您可以在任何地方使用它,即使是在定义名称空间时,例如我最近在 asp.net 项目中使用 Xml 的是;

#if DNX451
using System.Xml;
#endif

我搜索了一段时间,看看是否有计划将 NHibernate 引入新的跨平台 .NET Core,如下所示:

  • 目前似乎没有人在研究它或认为它很重要,
  • NHibernate have some dependencies 目前与 .NET Core 不兼容的库。即使它们是,也需要一些重大更改才能使 NHibernate 本身兼容,
  • NHibernate 项目中似乎没有太多 activity。

如果我理解正确的话,这意味着如果你想用你的 MVC6 应用程序定位 Linux/Mac 平台,并且你想用它来使用 NHibernate,请不要屏住呼吸,因为它不会发生。

在这种情况下,Entity Framework Core 在我看来是使用和学习的自然选择。它是开源的,积极开发的,在开发人员中有很好的意见,并且在设计时考虑了 MVC 6+。