我正在尝试将 NHibernate 与现有数据库一起使用。数据库记录用户之间的单向关系:
Users
UserId PK
Name
Relationships
RelationshipId PK
ParentId FK:Users_UserId
ChildId FK:Users_UserId
我想用 NHibernate 来表示这个。目前,我有以下 POCO 对象:
class User {
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public ICollection<User> ParentUsers {get; set;}
public ICollection<User> ChildUsers {get; set;}
}
我也有这个映射文件:
<class name="User" table="Users">
<id name="Id"></id>
<property name="Name"></property>
</class>
我查看了网络上的指南,但我无法确定需要在映射文件中放入什么来连接我的两个ICollection
属性。
我应该如何映射这个数据结构?我目前的方法是正确的,还是创建第二个 POCO 类并只使用两个many-to-one
关系更好?