我是NHibernate的新手。我正在使用<set ...>映射来处理一些多对一和多对多关联。这些关联被公开为ICollection<T>类型的属性,实际上由HashSet<T>实现。
我的问题是,我应该覆盖相关类型的Equals和GetHashCode方法,使它们与类型的数据库标识匹配(实际上是当Id属性相等时对象相等)吗?还是NHibernate会以某种方式为我处理这个问题?
如果我这样做,我发现一个问题,即如果我想在任何时候插入多个值到多对多集合中,因为新元素可能具有Guid.Empty的Id;因此被认为是相同的项。
我的问题是,我应该覆盖相关类型的Equals和GetHashCode方法,使它们与类型的数据库标识匹配(实际上是当Id属性相等时对象相等)吗?还是NHibernate会以某种方式为我处理这个问题?
如果我这样做,我发现一个问题,即如果我想在任何时候插入多个值到多对多集合中,因为新元素可能具有Guid.Empty的Id;因此被认为是相同的项。