【问题标题】:Mapping inherited entities映射继承的实体
【发布时间】:2011-07-25 01:01:56
【问题描述】:

我正在使用 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 生成。

【问题讨论】:

    标签: fluent-nhibernate mapping


    【解决方案1】:

    使用ClassMap 映射Advertice,使用SubclassMap 映射ImageAdverticeScriptAdvertice

    例如

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

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多