此处给出的指导http://fluentnhibernate.org/blog/2010/05/23/feature-focus-fields.html表明,从V1.1开始,Fluent NHibernate的自动化功能支持映射到私有字段。
因此,给定以下代码,NHiberate应该能够映射到myValue
字段。
public class SomeEntity
{
private string myValue;
public virtual int Id { get; set; }
}
public class DomainAutomappingConfiguration : DefaultAutomappingConfiguration
{
public override bool ShouldMap(FluentNHibernate.Member member)
{
return (member.IsProperty && member.IsPublic && member.CanWrite) ||
(member.IsField && member.IsPrivate);
}
}
然而,当我运行此代码并尝试映射时,我得到以下异常:
NHibernate.PropertyNotFoundException:找不到属性'myValue'的getter 类.....
我正在使用FluentNHibernate 1.1和NHibernate 3.0.0.2001
我做错了什么?
答案 0 :(得分:0)
变化:
私人字符串myValue;
要:
私人字符串myValue {get; set;}
我不确定这是否适合您,但您收到的错误是指定私有字段时缺少{get;}。希望这会让你走上正轨。我还没有尝试映射私有字段。
祝你好运。