Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新Fluent nHibernate会导致缺少属性的问题_Nhibernate_Fluent Nhibernate_C# 3.0_Updating - Fatal编程技术网

更新Fluent nHibernate会导致缺少属性的问题

更新Fluent nHibernate会导致缺少属性的问题,nhibernate,fluent-nhibernate,c#-3.0,updating,Nhibernate,Fluent Nhibernate,C# 3.0,Updating,我正在尝试更新应用程序中的nHibernate版本。 我使用了nuGet并将NHibernate v2.1.2.4000更新为v3.3.2.4000 和fluent NHibernate从v1.1.0.685到v1.3.0.733 我期待着一些问题,但我得到的错误是奇怪的,我不能完全弄清楚 在我的“多对多”惯例中有这样一行: var userDefined = instance.Relationship.Columns.UserDefined.FirstOrDefault(); if (user

我正在尝试更新应用程序中的nHibernate版本。 我使用了nuGet并将NHibernate v2.1.2.4000更新为v3.3.2.4000 和fluent 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”属性不再存在。我不明白的是我是否需要在某个地方重新定义它,或者是否有一种不同的方式访问该属性

我的印象是“用户定义”属性是fluent nHibernate的一部分。 有人知道如何让这个工作吗


非常感谢

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

以前只有一个值和设置它们的指标(默认值、约定值、显式值)。现在这三种类型都有值,在读取时使用类似于
explicit??惯例??默认值
,因此不再需要对显式/用户定义值进行测试


删除除instance.Relationship.Column(userDefined.EntityType.Name+“Id”)之外的所有行

userDefined不存在,没有第一行,即:var userDefined=instance.Relationship.Columns.userDefined.FirstOrDefault();有一个:instance.ChildType.FullName,但让我抓狂的是,我找不到关于NHibernate 3中“Relationship.Columns.UserDefined”的文档。它是FluentNHibernate的一部分,自从NHibernate通过代码引入映射以来,它几乎已经死了。他成功地集成了他的重构,但从那时起,文档和错误修复就越来越少。参见中的NH 2.1