Проблема с запросом 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
Ответы
Ответ 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();
}