使用NHibernate实体,您可以覆盖Equals和GetHashCode。覆盖==运算符以使用.Equals实现也是一个好主意吗?
答案 0 :(得分:5)
是的,保持Equals()
,operator==
和GethasCode()
一致是一种更为通用的.NET“最佳做法”。
答案 1 :(得分:-2)
为什么你认为在使用NHibernate时需要重写Equals和GetHashCode? NHibernate保证在同一个ISession中访问的任何实体的实体相等。请参阅文档中的Considering object identity。
编辑添加: 在重新阅读问题并进行一些谷歌搜索之后,我不得不承认我不知道在C#中可以覆盖等于运算符(==)。