linq查询问题

Ath*_*ina 30 linq nhibernate fluent-nhibernate linq-to-nhibernate

我正在尝试使用linq到NHibernate(使用Fluent NHibernate)但是我遇到了linq查询的问题.每次我尝试执行它时,我收到此消息:

" 方法'get_IsReadOnlyInitialized’型'NHibernate.Linq.Util.DetachedCriteriaAdapter’自组装'NHibernate.Linq,版本= 1.1.0.1001,文化=中立,公钥=空’没有实现. "

有人知道如何解决这个问题吗?我尝试使用模型上下文的这个页面的解决方案,但它没有帮助.

这是代码:

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

一切都很好,如果我不使用where部分,但如果我使用它我得到这个错误.我认为问题出在NHibernate.Linq.dll中

cre*_*mor 54

你应该与NHibernate 3.0使用NHibernate.Linq.dll!NHibernate 3.0包含Linq(比旧的扩展dll更好的版本),你只需要添加using NHibernate.Linq;和使用session.Query<T>()而不是session.Linq<T>().