2011-11-02 46 views
2

我们使用的是Fluent Nhibernate,我似乎无法映射组件。我的组件类不是一个实体,并且具有两个值:无法找到组件成员的获取者

public class Member 
{ 
    public int ID; 
    public string Name; 
} 

父实体被映射到一个视图与两列填充这两个属性。我的类映射为使用LINQ作为一个部件

Component(x => x.CurrentMember, m => 
{ 
    m.Map(x => x.ID, "MemberId"); 
    m.Map(x => x.Name, "MemberName"); 
}); 

当我运行此我得到FluentNHibernateConfigurationException构建SessionFactory的:“找不到类属性‘ID’“会员一个getter”。这不是一个实体,所以我有点困惑,因为我错过了什么?

回答

3

嗯,你的类没有指定一个名为ID属性 - 它指定的字段。也许你应该尝试给你的班级属性,而不是公共领域:

public class Member 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
} 
+2

由于@andronz下面提到他们需要虚拟属性。 –

+0

@ColeW:绝对虚拟?即使这不是一个实体?将编辑提及,但我会尝试没有第一:) –

+0

这样做,我没有意识到组件属性也必须是虚拟的。谢谢! – IRegretable

2

也许尝试使用属性,它应该是虚拟