Проблема с запросом linq - PullRequest
30 голосов
/ 09 мая 2011

Я пытаюсь использовать 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

Ответы [ 2 ]

54 голосов
/ 11 мая 2011

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

0 голосов
/ 10 мая 2011

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

Если это не == вместо =:

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