代码之家  ›  专栏  ›  技术社区  ›  David P

nhibernate:我如何将两个类的字段组合起来?

  •  2
  • David P  · 技术社区  · 16 年前

    这里是我的数据库模型的简化版本。我有两个表:“image”和“hostingprovider”,如下所示:

    [图像]

    • 身份证件
    • 文件名
    • 主机提供商

    [主机提供商]

    • 身份证件
    • 基本网址

    映像hostingProviderID是与hostingProvider表的多对一外键关系。(每个映像都有一个宿主提供程序)。

    本质上,我希望我的图像类能够如下所示:

    [图像]

    • 身份证件
    • 基本网址
    • 文件名

    在nhibernate中,如何创建一个映射文件,将hostingprovider表中的基URL合并到image类中?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Ben Scheirman    16 年前

    你要找的是:

    http://ayende.com/Blog/archive/2007/04/24/Multi-Table-Entities-in-NHibernate.aspx

    以下是它的外观:

    <class name="Person">
    
           <id name="Id" column="person_id" unsaved-value="0">
    
                  <generator class="native"/>
    
           </id>
    
    
    
           <property name="Name"/>
    
           <property name="Sex"/>
    
    
    
           <join table="address">
    
                  <key column="address_id"/>
    
                  <property name="Address"/>
    
                  <property name="Zip"/>
    
                  <property name="Country"/>
    
                  <property name="HomePhone"/>
    
                  <property name="BusinessPhone"/>
    
           </join>
    
    </class> 
    
        2
  •  0
  •   yfeldblum    16 年前
    public class Image {
        public virtual HostingProvider HostingProvider { get; set; } // NHibernate takes care of this
        public virtual string BaseUrl { get { return HostingProvider.BaseUrl; } }
    }