Отображение унаследованных объектов - PullRequest
0 голосов
/ 29 марта 2011

Я использую 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 генерировался из идентификатора в объявлении.

1 Ответ

0 голосов
/ 29 марта 2011

Карта Advertice с использованием ClassMap и ImageAdvertice и ScriptAdvertice с использованием 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()
  {}
}
...