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();   
}

如果我不使用where部分,一切都很好,但是如果使用它,则会出现此错误。我认为问题出在NHibernate.Linq.dll中

最佳答案

You should not use NHibernate.Linq.dll with NHibernate 3.0! NHibernate 3.0 has Linq included (a by far better version than the old extension dll), you just need to add using NHibernate.Linq; and use session.Query<T>() instead of session.Linq<T>().

    公众号
    关注公众号订阅更多技术干货!