NHIBERNATE返回映射属性的零值



我正在维护一个使用Nhibernate 3.3.3.4001

的旧应用

我有一个名为ProceceureField的类,该类别具有称为ReportCode的属性,其映射看起来像这样: Map(x => x.ReportCode);

数据库列是相同的名称,是nullable NVARCHAR(50)

出于未知的原因,当我使用PK从表中检索一行时,该属性为null,当数据库具有值时。示例:

session.Get<ProcedureField>(id);

session.Query<ProcedureField>().First(pf => pf.Id == id);  

所有其他属性都被解释为。

这是超级怪异的部分。我使用SQL Server Profiler和执行的实际动态SQL嗅到查询,确实返回ReportCode字符串。它只是不填充属性。

以及在最后一点怪异的情况下,如果我添加一个名为 ReportCodey的新属性并将其映射到reportcode,则可以(但我必须离开现有属性(!

Map(x => x.ReportCode);
Map(x => x.ReportCodey).Column("ReportCode");

升级到Nhibernate的最新版本(或任何(对我来说不是一个选项,因为它会破坏本应用程序使用的自定义框架(该死的自定义框架!(。

有人遇到这种性质的怪异吗?

不确定这是否是一个足够的答案,但它解决了我的问题。

我创建了一个名为ReportCode的表。看来这引起了问题。奇怪的是,nhibrenate变得很奇怪,因为一张新表格与另一表中的现有列具有相同的名称。

我放下了新的ReportCode表,然后又回到了工作。

相关内容

  • 没有找到相关文章

最新更新