Nhibernate 3和LINQ

bry*_*ich 17 linq nhibernate

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

return new List<T>(session.Linq<T>().Where(where));
Run Code Online (Sandbox Code Playgroud)

新语法看起来如何?我浏览了nhib 3文档和教程,并没有看到任何关于linq的东西,所以我找不到一个例子来模式.

goe*_*ing 34

在Liniber的NHibernate 3中你可以这样做:

from u in session.Query<User>()
where u.Username == username
select u
Run Code Online (Sandbox Code Playgroud)

要么

session.Query<User>().Where(u => u.Username == username)
Run Code Online (Sandbox Code Playgroud)

不确定这是否是您正在寻找的.

编辑:Query<T>是一种扩展方法.别忘了添加using NHibernate.Linq即可使用它.

  • NHibernate.Linq做到了.:) (5认同)
  • 我在会话对象上看不到任何.Query.我错过了使用或什么? (2认同)