我们在我们的系统上有用户和人。每个用户有很多人员。但是,当用户登录时,我们需要仰望他的主要人员记录填写自己的姓名,地址,电话等流利的NHibernate:如何在两个方向上都有一对多的参考?
public class Person
{
/// <summary>Every Person belongs to a user.</summary>
public virtual User User { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string Address { get; set; }
public virtual string Phone { get; set; }
// More methods & Properties
}
public class User : Entity
{
public virtual string Username { get; set; }
public virtual string Password { get; set; }
/// <summary>Every User has a primary person record.</summary>
public virtual Person PrimaryPerson { get; set; }
// More methods & Properties
}
如何在类图的外观为这个没有一个循环引用?
因此,用户与Person有一对多的关系,并且User有一个Primary Person。 – Phill 2010-12-21 02:38:02
这是正确的,菲尔。一个用户将有许多人。但这些人中只有一人是主人。 – Rap 2010-12-21 02:39:50
可能我错过了一些东西,但为什么你不能在'UserMap'上的'PersonMap'和'References(x => x.PrimaryPerson)'''References(x => x.User)'? NHibernate基本上可以看到这些是单独的一对多关系(因为'User'不存储'ICollection SecondaryPersons'这里没有双向性),这意味着你必须自己执行约束,但这是一个大问题吗?我想这有一个循环引用,但......你的域类也是如此。 –
fostandy
2010-12-22 05:38:07