【发布时间】:2013-06-08 17:28:14
【问题描述】:
如果之前已经回答过这个问题,我们深表歉意。我试过谷歌,但找不到答案。
现在我有课
public class User
{
public virtual string Username { get; set; }
public virtual string Name { get; set; }
public virtual ISet<User> Teamleaders { get; set;}
public virtual ISet<User> Staff { get; set;}
}
teamLeaders 存储该用户拥有的所有团队负责人。 员工存储团队负责人拥有的所有员工。
这是多对多的关系。
目前我的XML文件如下所示
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="SDReward"
namespace="SDReward.Domain">
<class name="User">
<id name="Username" />
<property name="Name" />
</class>
</hibernate-mapping>
我已经让它与以下数据一起工作。它从 teamleaderstaff 表中获取数据
<set name="Teamleaders" table="teamleaderstaff">
<key column="TeamleaderId" />
<many-to-many column="UserId" class="User" />
</set>
<set name="Staff" table="teamleaderstaff">
<key column="UserId" />
<many-to-many column="TeamleaderId" class="User" />
</set>
但是,当我执行插入操作时,它会将它们插入数据库中...例如,如果我向用户添加 1 个团队负责人并将该用户添加为团队负责人的员工,它会使用相同的数据进行 2 次插入。
【问题讨论】:
标签: c# nhibernate orm many-to-many nhibernate-mapping