Метод не найден: 'System.Linq.IQueryable`1NHibernate.Linq.LinqExtensionMethods.Query (NHibernate.IStatelessSession)» - PullRequest
0 голосов
/ 05 марта 2019

У меня проблема при обновлении NHibernate с 4.1.2 до 5.2.3 и Target Framework с 4.5 до 4.6.2 (до совместимости с NH 5.x).Проблема возникает, когда я выполняю запрос с использованием LINQ (раньше он работал хорошо):

service.Query.Where(p => p.Approved).FirstOrDefault();

Это исключение подробного сообщения:

Метод не найден: 'System.Linq.IQueryable`1 NHibernate.Linq.* 'service.Query' выдал исключение типа 'System.MissingMethodException'

Что я пропустил?

1 Ответ

0 голосов
/ 05 марта 2019

Ваше приложение все еще пытается вызвать старый метод расширения Query, который был удален в NHibernate 5. Query - это IStatelessSession/ISession метод интерфейса начиная с NHibernate 5.

Исключение, которое вы видите, означает, что ваше приложениенеправильно перекомпилированы с новыми библиотеками NHibernate.Убедитесь, что все ваши проекты ссылаются на новые dll (или пакет nuget), и у вас нет ошибок компиляции (возможный случай - вы выполнили последнюю успешную сборку перед обновлением, но с более новыми dll).

...