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

我很乐意使用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 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()
  {}
}