linq查询的问题

发布于 2024-11-06 04:18:53 字数 796 浏览 5 评论 0原文

我正在尝试使用 linq to 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 中。

I'm trying to use linq to NHibernate (with Fluent NHibernate) but I have problems with linq query. Everytime I try to execute it I get this message :

"Method 'get_IsReadOnlyInitialized'
in type
'NHibernate.Linq.Util.DetachedCriteriaAdapter'
from assembly 'NHibernate.Linq,
Version=1.1.0.1001, Culture=neutral,
PublicKeyToken=null' does not have an
implementation.
"

Does anybody know how to fix this problem? I tried with solution form this page with model context but it didn't help.

This is the code:

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

Everything is fine if I don't use the where part but if I use it I get this error. I think that the problem is in NHibernate.Linq.dll

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天气好吗我好吗 2024-11-13 04:18:53

您不应该将 NHibernate.Linq.dll 与 NHibernate 3.0 一起使用! NHibernate 3.0 包含了 Linq(一个比旧扩展 dll 更好的版本),您只需添加 using NHibernate.Linq; 并使用 session.Query() code> 而不是 session.Linq()。

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>().

心欲静而疯不止 2024-11-13 04:18:53

据我所知,您不是在比较,而是分配文本。

不应该是 == 而不是 =:

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

as far as I can see you are not comparing, but assigning the Text.

Should it not be == in stead of =:

using(var session = NHibernateHelper.OpenSession()) {
var informations = (from i in session<Information>() where i.Text=="some text" select i).ToList();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文