1

我看到很多这样使用 Linq to NH 的例子:

ISession session = getSession();
    var query = from conference in session.Linq<Conference>()

但在我的代码中,ISession 上没有 .Linq。

以下Using还不够吗?

using NHibernate.Linq;
4

1 回答 1

4

您正在导入正确的命名空间,但在ISession接口上使用了错误的方法。而不是ISession.Linq<T>(),使用ISession.Query<T>().

ISession session = getSession();
var query = from conference in session.Query<Conference>()

ISession.Linq<T>()Linq 2 NHibernate的一部分,这是一个单独的项目,有点临时解决方案。它基于 Criteria API。它现在已经过时了。

新的 NHibernate Linq 提供程序现在是主要 NHibernate 程序集的一部分(从 NH 3.0 开始)。它基于 HQL,并具有更多功能。

于 2012-09-07T07:34:03.107 回答