流利的NHibernate显示不使用给定的属性名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流利的NHibernate显示不使用给定的属性名称相关的知识,希望对你有一定的参考价值。

我想在我的班级中映射以下受保护的集合:

public class AddressList
{
    protected readonly IList<Address> addresses = new List<Address>();
}

使用以下映射:

HasMany<Address>(list => Reveal.Member<AddressList>("addresses"));

但我一直得到一个NHibernate.MappingException

NHibernate.MappingException : Could not compile the mapping document: 
(XmlDocument) > NHibernate.PropertyNotFoundException 
: Could not find a getter for property '**Member**' in class

但正如你在Reveal.Member中看到的那样,我说它应该寻找的属性名应该是“地址”

我找到了this问题,用户似乎和我有同样的问题,只是这是一个老问题

我也尝试过给here解决方案

答案

你不应该将lambdas与Reveal一起使用

正如您在异常消息中看到的那样:

NHibernate.MappingException:无法编译映射文档:(XmlDocument)> NHibernate.PropertyNotFoundException:在类中找不到属性'Member'的getter

当你使用Member而不是list => Reveal.Member时,我试图映射到一个名为Reveal.Member的字段

以上是关于流利的NHibernate显示不使用给定的属性名称的主要内容,如果未能解决你的问题,请参考以下文章

流利的 NHibernate 多对多与额外的列不插入

如何使用流利的 nhibernate 设置 generate_statistics = true

使用流利的 nhibernate 映射枚举

流利的 NHibernate 多对多创建附加表

使用流利的nhibernate映射枚举

使用流利的 Nhibernate 插入时,Oracle DB 法语字符将替换为垃圾值