0

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

在我的数据库中:

用户表

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

.. ETC

组织表

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

MainContactId 引用 User 表中的用户。

在我的对象模型中,我有一个用户类和一个组织类,我想要的只是在组织类上有一个属性,如下所示:

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

我不想在引用组织的用户类上有一个集合,因为到目前为止我读过的每一篇文章似乎都有——这肯定是可能的和简单的吗?

提前致谢,

杰米

4

1 回答 1

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 />

于 2012-07-03T08:12:08.950 回答