Подтвердить что ты не робот

Проблема с запросом linq

Я пытаюсь использовать linq для NHibernate (с Fluent NHibernate), но у меня проблемы с запросом linq. Каждый раз, когда я пытаюсь выполнить его, я получаю это сообщение:

" Метод 'get_IsReadOnlyInitialized' в типе 'NHibernate.Linq.Util.DetachedCriteriaAdapter' от сборки 'NHibernate.Linq, Версия = 1.1.0.1001, Культура = нейтральная, PublicKeyToken = null 'не имеет реализация."

Кто-нибудь знает, как решить эту проблему? Я пробовал с формой решения эту страницу с модельным контекстом, но это не помогло.

Это код:

using(var session = NHibernateHelper.OpenSession())   
{   
var informations = (from i in  session<Information>() where i.Text=="some text" select  i).ToList();   
}

Все в порядке, если я не использую часть где, но если я ее использую, я получаю эту ошибку. Я думаю, что проблема в NHibernate.Linq.dll

4b9b3361

Ответ 1

Вы должны не использовать NHibernate.Linq.dll с NHibernate 3.0! В NHibernate 3.0 включен Linq (гораздо лучшая версия, чем прежняя dll расширения), вам просто нужно добавить using NHibernate.Linq; и использовать session.Query<T>() вместо session.Linq<T>().

Ответ 2

насколько я вижу, вы не сравниваете, а назначаете текст.

Если это не должно быть == вместо =:

using(var session = NHibernateHelper.OpenSession()) {
var informations = (from i in session<Information>() where i.Text=="some text" select i).ToList();
}