我有以下Person
和Gender
類(我真的不,但例如簡化爲對方瞭解我的點),使用NHibernate(功能NHibernate)我要在數據庫列「GenderId
」 [INT]值到受保護的INT _genderId
字段映射在我的Person
類。我該怎麼做呢?流利的NHibernate映射到私有/受保護字段沒有暴露物業
FYI,映射和域對象是在單獨的組件。
public class Person : Entity
{
protected int _genderId;
public virtual int Id { get; private set; }
public virtual string Name { get; private set; }
public virtual Gender Gender
{
get { return Gender.FromId(_genderId); }
}
}
public class Gender : EnumerationBase<Gender>
{
public static Gender Male
= new Gender(1, "Male");
public static Gender Female
= new Gender(2, "Female");
private static readonly Gender[] _genders
= new[] { Male, Female };
private Gender(int id, string name)
{
Id = id;
Name = name;
}
public int Id { get; private set; }
public string Name { get; private set; }
public static Gender FromId(int id)
{
return _genders.Where(x => x.Id == id).SingleOrDefault();
}
}
我已經發布了一個完整的例子在這裏: http://stackoverflow.com/questions/5432380/using-fluent-nhibernate-is-there-anyway-to-have-a-private-property-mapped – 2013-02-16 00:22:28