【问题标题】:NHibernate Linq Provider questionNHibernate Linq 提供程序问题
【发布时间】:2010-08-19 09:22:08
【问题描述】:

谁能回答我有什么区别

会话.查询
Session.Linq 和
Session.QueryOver

我真正感兴趣的是:
未来版本将支持哪些内容。
我应该在一个干净的项目中开始使用什么。

请说说你对这三个方面的看法……

谢谢, 佐尔坦

【问题讨论】:

    标签: nhibernate linq-to-nhibernate


    【解决方案1】:

    Session.Query 是当您想使用 NHibernate 3.0 中新的和大大改进的 linq 提供程序时使用的类。如果您正在使用 linq 并且正在开始一个新项目,那么这是要使用的类。

    Session.Linq 是使用旧 linq 提供程序时要使用的类。我会说您只会将此类与较旧的代码库一起使用。旧的 linq 提供程序实际上是 Criteria API 的包装器,虽然对于更简单的查询很好,但一旦事情变得更加苛刻,它就会受到限制。

    Session.QueryOver 是 NHibernate 的 Criteria API 的包装器。如果您已经精通 Criteria API,那么这是一个非常平易近人的界面。它消除了大部分字符串,用 lambda 表达式替换它们。这是一个非常流畅的界面。语法类似于 linq,但这 不是 linq 提供程序。

    此时我会说您希望使用 Query 和 QueryOver 接口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多