1

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

4

2 回答 2

5

Equals()是的,operator==保持一致是更通用的 .NET“最佳实践” GethasCode()

请参阅重载 Equals() 和运算符 == 的指南

于 2009-04-17T15:45:39.610 回答
-2

为什么您认为在使用 NHibernate 时需要覆盖 Equals 和 GetHashCode?NHibernate 保证在同一 ISession 中访问的任何实体的实体平等。请参阅文档中的考虑对象身份

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

于 2009-04-17T15:50:23.733 回答