使用Iesi ISet和NHibernate

时间:2012-08-27 22:14:28

标签: c# nhibernate iesi-collections

我在这里遗漏了一些东西!

我正在使用ISet在我的NHibernate winform c#项目中映射集合。

现在我想做这样的事情:

Person _person=new Person();

Address _address1=new Address();
_person.Addresses.Add(_address1);
_address1.Person=_person;

Address _address2=new Address();
_person.Addresses.Add(_address2);
_address2.Person=_person;

_session.Save(_person);

现在地址是HashedSet<Address>,当我尝试添加_address2时,“添加”方法返回false,因为地址ID为空并且无法添加对象... _address1 Id也为空!

如何解决?

丹尼尔

1 个答案:

答案 0 :(得分:2)

您需要在Address上设置一些属性并实现对象相等,以便set实现可以测试相等性。例如,我怀疑地址ID是一个很好的平等测试。相反,你想要测试数字,街道,城市等是否相等。