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