Переопределить оператор == (равенство) в NHibernate? - PullRequest
1 голос
/ 17 апреля 2009

С сущностями NHibernate вы должны переопределить Equals и GetHashCode. Является ли хорошей идеей переопределить оператор ==, чтобы также использовать реализацию .Equals?

Ответы [ 2 ]

5 голосов
/ 17 апреля 2009

Да, это более общая "наилучшая практика" для .NET: сохранять согласованность Equals(), operator== и GethasCode().

См. Рекомендации по перегрузке Equals () и оператора == .

0 голосов
/ 17 апреля 2009

Почему вы считаете, что вам нужно переопределить Equals и GetHashCode при использовании NHibernate? NHibernate гарантирует равенство сущностей для любой сущности, доступ к которой осуществляется в одной и той же ISession. См. С учетом идентичности объекта в документации.

Отредактировано, чтобы добавить: Перечитав вопрос и занявшись поиском, я должен признать, что понятия не имел, что оператор равенства (==) может быть переопределен в C #.

...