0

我正在尝试在我的应用程序中更新 nHibernate 版本。我使用了 nuGet 并将 NHibernate v2.1.2.4000 更新到 v3.3.2.4000 并将流利的 NHibernate 从 v1.1.0.685 更新到 v1.3.0.733

我期待一些问题,但我得到的错误很奇怪,我无法弄清楚。

在我的“多对多”约定中,有这样一行:

var userDefined = instance.Relationship.Columns.UserDefined.FirstOrDefault();
if (userDefined != null)
{
  instance.Relationship.Column(userDefined.EntityType.Name + "Id");
}

问题是在更新 DLL 后,“UserDefined”属性不再存在。我无法理解的是我是否需要在某个地方重新定义它,或者是否有不同的方式来访问该属性。

我的印象是“UserDefined”属性是 fluent nHibernate 的一部分。有谁知道如何让这个工作?

非常感谢

4

1 回答 1

0

FluentNHibernate 重构了它表示指定值的方式。

之前只有一个值和指标来设置它们(默认、约定、显式)。现在所有三种类型都有值,并且在阅读时使用类似的东西,explicit ?? convention ?? default因此不再需要对显式/用户定义值的测试。

删除所有行,但instance.Relationship.Column(userDefined.EntityType.Name + "Id");

于 2013-01-07T10:25:01.533 回答