0

ここに何かが足りません!

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);

これで、AddressesはanHashedSet<Address>になり、_address2を追加しようとすると、Address Idがnullでオブジェクトを追加できないため、「Add」メソッドはfalseを返します... _ address1 Idもnullです!

解決する方法は?

ダニエレ

4

1 に答える 1

2

設定された実装が同等性をテストできるように、アドレスにいくつかのプロパティを設定し、オブジェクトの同等性を実装する必要があります。たとえば、アドレスIDが同等性の良いテストであるとは思えません。むしろ、数、通り、都市などが等しいかどうかをテストする必要があります。

于 2012-08-27T22:40:36.863 に答える