首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Nhibernate 3和LINQ

Nhibernate 3和LINQ
EN

Stack Overflow用户
提问于 2011-02-23 03:44:08
回答 2查看 12.9K关注 0票数 17

我正在将一些代码从Nhibernate 2.x转换到3.0。在此之前,我使用LINQ插件来获得LINQ支持。我的理解是,在3.0中,它是作为一流的特性出现的。所以我的问题是,我曾经有这样的想法:

代码语言:javascript
复制
return new List<T>(session.Linq<T>().Where(where));

使用新的语法会是什么样子?我浏览了nhib3文档和教程,没有看到任何关于linq的东西,所以我找不到一个可以效仿的例子。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-23 03:51:49

在带有Linq的NHibernate 3中,您可以执行以下操作:

代码语言:javascript
复制
from u in session.Query<User>()
where u.Username == username
select u

代码语言:javascript
复制
session.Query<User>().Where(u => u.Username == username)

不确定这是不是你要找的。

编辑:Query<T>是一种扩展方法。不要忘记添加using NHibernate.Linq才能使用它。

票数 34
EN

Stack Overflow用户

发布于 2011-02-23 03:57:35

没有新的语法。linq仍然是Linq。旧提供程序中名为Linq的方法在新提供程序中命名为Query。

您可以使用enumerable.ToList()来防止使用单独的sql查询加载列表中的每个对象,而不是使用新列表(可枚举)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5083075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档