在NHibernate中覆盖==(相等)运算符?

时间:2009-04-17 15:39:09

标签: nhibernate equals

使用NHibernate实体,您可以覆盖Equals和GetHashCode。覆盖==运算符以使用.Equals实现也是一个好主意吗?

2 个答案:

答案 0 :(得分:5)

是的,保持Equals()operator==GethasCode()一致是一种更为通用的.NET“最佳做法”。

请参阅Guidelines for Overloading Equals() and Operator ==

答案 1 :(得分:-2)

为什么你认为在使用NHibernate时需要重写Equals和GetHashCode? NHibernate保证在同一个ISession中访问的任何实体的实体相等。请参阅文档中的Considering object identity

编辑添加: 在重新阅读问题并进行一些谷歌搜索之后,我不得不承认我不知道在C#中可以覆盖等于运算符(==)。