2011-03-29 35 views
0

im使用功能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 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;} 
    } 

如何映射到实体所以通过ID在Advertice生成ScriptAdvertice的ID。

回答

0

地图Advertice使用ClassMapImageAdverticeScriptAdvertice使用SubclassMap

例如

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() 
    {} 
}