我是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类上有一个集合,因为到目前为止我读过的每篇文章都有 - 当然这必须是可行和直截了当的吗?
提前致谢,
杰米
答案 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 />
。