流利的NHibernate自动映射2类到一个实体
本文关键字:实体 一个 2类 NHibernate 映射 | 更新日期: 2023-09-27 17:50:49
如何自动映射两个类到一个数据库实体?
public abstract class Root
{
public virtual int Id { get; set; }
public virtual string Item { get; set;}
}
public class First
{
public override string ToString()
{
return "First " + Id;
}
}
public class Second
{
public override string ToString()
{
return "Second " + Id;
}
}
生成2个实体到数据库
Fluent NHibernate文档对此解释得很好。第一步是从基类继承扩展类:
public class First : Root
由于你的基类是抽象的,你指示FNH不将其映射为具体类:
AutoMap.AssemblyOf<Entity>(cfg).IgnoreBase<Entity>();
FNH默认使用每子类一个表的映射策略。如果您想使用每层次表的映射(我推荐使用),请覆盖isdiscriminator方法:
public override bool IsDiscriminated(Type type)
{
return true;
}