任何人都可以回答我
的不同之处 Session.Query
Session.Linq和
Session.QueryOver
我真正感兴趣的是:
未来版本将支持哪些内容
我应该在干净的项目中开始使用什么。
请告诉我你对这三个人的看法......
谢谢, 佐尔坦
答案 0 :(得分:5)
Session.Query是当你想在NHibernate 3.0中使用新的和大大改进的linq提供程序时使用的类。如果您正在使用linq并且您正在开始一个新项目,那么这就是要使用的类。
如果您使用旧的linq提供程序,Session.Linq是要使用的类。我会说你只会使用旧类代码的这个类。较旧的linq提供程序实际上是Criteria API的包装器,虽然对于更简单的查询很好,但是一旦事情变得更加苛刻,它就会受到限制。
Session.QueryOver是NHibernate的Criteria API的包装器。如果您已经精通Criteria API,那么这是一个非常平易近人的界面。它消除了大多数字符串,用lambda表达式替换它们。这是一个非常流畅的界面。语法类似于linq,但这是而不是 linq提供者。
此时我会说你想要使用Query和QueryOver接口。