如何使用默认自动映射配置在Fluent NHibernate中映射私有字段

时间:2011-01-14 11:37:04

标签: nhibernate fluent-nhibernate

此处给出的指导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

我做错了什么?

1 个答案:

答案 0 :(得分:0)

变化:

私人字符串myValue;

要:

私人字符串myValue {get; set;}

我不确定这是否适合您,但您收到的错误是指定私有字段时缺少{get;}。希望这会让你走上正轨。我还没有尝试映射私有字段。

祝你好运。