linq - Nhibernate 3 和 LINQ

标签 linq nhibernate

我正在将一些代码从 Nhibernate 2.x 转换为 3.0。之前,我使用 LINQ 插件来获得 LINQ 支持。我的理解是,在 3.0 中,它被作为一流的功能引入。所以我的问题是,我曾经有过这个:

return new List<T>(session.Linq<T>().Where(where));

新语法看起来怎么样?我浏览了 nhib 3 文档和教程,但没有看到任何有关 linq 的内容,因此我找不到可以进行模式化的示例。

最佳答案

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

from u in session.Query<User>()
where u.Username == username
select u

或者

session.Query<User>().Where(u => u.Username == username)

不确定这是否是您要找的。

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

关于linq - Nhibernate 3 和 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5083075/

相关文章:

c# - 如何在 linq 连接 (lambda) 上添加 where 子句?

c# - 解析传递给 LINQ 表达式所在方法的 LINQ 参数

asp.net-mvc - NHibernate与 Entity Framework [已关闭]

c# - "session per request"模式是否利用缓存? ("Session per session"或 "Session per request")

c# - 添加具有一对一子项的父项实例

c# - 替换多个 JObject 中属性的 JSON 值

c# - LINQ:结合加入和分组依据

c# - 带有 if 语句的 Where 子句

Fluent NHibernate 的 MySQL 配置

NHibernate 在调试期间非常慢