【发布时间】:2010-04-23 22:54:03
【问题描述】:
我有以下 Person 和 Gender 类(我不是真的,但为了理解我的意思,这个例子被简化了),使用 NHibernate (Fluent NHibernate) 我想映射数据库列“@987654324 @" [INT] 值到我的 Person 类中受保护的 int _genderId 字段。我该怎么做?
仅供参考,映射和域对象位于单独的程序集中。
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();
}
}
【问题讨论】:
-
我在这里发布了一个完整的例子:stackoverflow.com/questions/5432380/…
标签: nhibernate fluent-nhibernate