Спасибо за Ваш ответ. Мой вопрос недостаточно ясен. В каких случаях недостаточно реализации по умолчанию Equals (и GetHashCode)? При работе с объектами, которые присоединены к одному сеансу, все должно идти хорошо благодаря кэшу идентификации NH, если только кэш идентификации не нарушен (и мне любопытно, почему кэш может быть поврежден). Смешение отдельных сущностей и сущностей, полученных через несколько сеансов, для меня это нечто вроде бега с ножницами :). Когда это нужно делать?

ли причины, по которым Equals или GetHashCode должны быть переопределены в сущностях при использовании NHibernate? И в каких случаях эти причины действительны?

Некоторые причины, которые можно найти в Интернете:

Поддержка ленивой загрузки. Сравнение прокси-объектов с помощью метода Equals по умолчанию может привести к неожиданным ошибкам. Но это должно быть решено с помощью карты идентичности (и это действительно во многих случаях), не так ли? При работе с сущностями из одного сеанса все должно работать нормально даже без переопределения Equals / GetHashCode. Есть ли случаи, когда карта идентичности не играет хорошо, ее роль?Это важно для коллекций NHibernate. Существуют ли случаи, когда реализация GetHashCode по умолчанию недостаточна (не включая проблемы, связанные с Equals)?Смешение сущностей из нескольких сессий и отдельных сущностей. Это хорошая идея, чтобы сделать это?

Любые другие причины?

Ответы на вопрос(2)

Ваш ответ на вопрос