Я только что обновился с NHibernate 2.1 до NHibernate 3.1.Я обнаружил, что оператор равенства для использования Linq не был реализован для других типов, кроме string.
Я нашел в Интернете статью , чтобы решить эту проблему.Это хорошо работает для основных типов, но теперь я хочу сравнить пользовательские объекты и не могу заставить его работать.
Я пробовал некоторые реализации, но ни одна из них не работает:
ReflectionHelper.GetMethodDefinition<CustomEntity>(x => x.Equals(<CustomEntity>(0)))
ReflectionHelper.GetMethodDefinition<CustomEntity>(x => x.Equals(typeof(CustomEntity))
запрос, который я хочу выполнить, выглядит следующим образом:
Session.Query<SomeEntity>().Where(x => x.CustomEntity.Equals(CustomEntity);
Как я могу расширить равные, чтобы разрешить это, и не получить исключение NotSupportedException?