Fluent nhibernate 映射继承的实体
我很乐意使用Fluent Nhibernate,但在映射某些实体时遇到一些困难:Fluent nhibernate 映射继承的实体,fluent-nhibernate,mapping,Fluent Nhibernate,Mapping,我很乐意使用Fluent Nhibernate,但在映射某些实体时遇到一些困难: public enum AdverticeType { None,Image,Flash,Script} public class Advertice { public virtual int ID { get;set;} public virtual string Name { get;set;} public virtual Advert
public enum AdverticeType { None,Image,Flash,Script}
public class Advertice
{
public virtual int ID { get;set;}
public virtual string Name { get;set;}
public virtual AdverticeType AdverticeType { get;set;}
}
public class ImageAdvertice : Advertice
{
public virtual int ID { get;set;}
public virtual string Path { get;set;}
public virtual string URL { get;set;}
}
public class ScriptAdvertice : Advertice
{
public virtual int ID { get;set;}
public virtual string Code { get;set;}
}
如何映射到实体,以便ScriptAdvertice中的ID由Advertice中的ID生成。使用
类映射映射映射Advertice
,使用子类映射映射映射ImageAdvertice
和ScriptAdvertice
e、 g
公共类广告地图:类地图
{
公共广告地图()
{
Id(x=>x.Id);
}
}
公共类ImageAdverticeMap:子类映射
{
公共图像广告地图()
{}
}
公共类ScriptAdverticeMap:子类映射
{
公共脚本AdverticeMap()
{}
}
public class AdverticeMap : ClassMap<Advertice>
{
public AdverticeMap()
{
Id(x => x.ID);
}
}
public class ImageAdverticeMap : SubclassMap<ImageAdvertice>
{
public ImageAdverticeMap()
{}
}
public class ScriptAdverticeMap : SubclassMap<ScriptAdvertice>
{
public ScriptAdverticeMap()
{}
}