NHibernate映射没有集合的子表中的ParentId

时间:2012-07-03 07:49:15

标签: c# nhibernate nhibernate-mapping one-to-many

我是nHibernate的新手,我正在尝试创建我认为应该是一个相对简单的映射,使用XML不流畅的nHibernate,如下所示:

在我的数据库中:

用户表

  [Id] int IDENTITY(1,1)
, [Username] varchar(250) NOT NULL

..等等

组织表

  [Id] int IDENTITY(1,1)
, [Name] varchar(500) NOT NULL
, [MainContactId] int NOT NULL
, [Sector] nvarchar(1000) NULL

MainContactId引用User表中的用户。

在我的对象模型中,我有一个User类和一个Organization类,我想要的是在Organization类上有一个属性,如下所示:

public class Organisation
{
  ...
  public User MainContact { get; set; }
  ...
}

我不想在引用组织的User类上有一个集合,因为到目前为止我读过的每篇文章都有 - 当然这必须是可行和直截了当的吗?

提前致谢,

杰米

1 个答案:

答案 0 :(得分:2)

您需要many-to-one映射。

<class name="Organisation" table="Organisation">
    <!-- ... -->
    <many-to-one name="MainContact" column="MainContactId" />
    <!-- ... -->
</class>

Ayende有关于many-to-one映射的好帖子:NHibernate Mapping - <many-to-one />