NHibernate:我如何组合两个类的字段?

时间:2008-10-29 12:43:50

标签: nhibernate hibernate nhibernate-mapping

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

[图像]

  • ID
  • 文件名
  • hostingprovider_id

[HostingProvider]

  • ID
  • BASE_URL

Image HostingproviderId是与HostingProvider表的多对一外键关系。 (每个图像都有一个托管服务提供商)。

基本上我希望能够让我的Image类看起来像这样:

[图像]

  • 编号
  • BASE_URL
  • 文件名

在NHibernate中,如何创建一个将HostingProvider表中的base_url组合到Image类中的映射文件?

2 个答案:

答案 0 :(得分:2)

您正在寻找的是:

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> 

答案 1 :(得分:0)

public class Image {
    public virtual HostingProvider HostingProvider { get; set; } // NHibernate takes care of this
    public virtual string BaseUrl { get { return HostingProvider.BaseUrl; } }
}