0

我认为使用 Linq2Nibernate 的目的是返回 IQueryable 并建立一个表达式树。我不确定这是否正确。

如果他们不打算返回 IQueryable,为什么有人会使用 Linq2Nibernate?

它还能用来做什么?

我希望对此主题有更多的投入

用于休眠的 Linq

4

4 回答 4

3

我打算使用 NHibernate.Linq 用 LINQ 表达式替换我的 HQL 和标准 API 查询。换句话说,我将在代码中生成查询(作为 LINQ 表达式),然后将其传递给 NHibernate.Linq 和 NHib 以将其转换为数据库查询。

仅供参考,有可用的alpha 版本

于 2009-03-16T21:07:58.137 回答
1

我已经计划开始​​使用 Linq2Nibernate,但还没有开始。

我想要使​​用 Linq2Nibernate 的原因是构造标准并稍后查询它们时的好语法。

这是一个很好的简单示例。 http://ayende.com/Blog/archive/2007/03/16/Linq-for-NHibernate.aspx

于 2009-03-27T09:01:02.147 回答
1

我将 Linq2Nhibernate 与返回 IQueryable 对象的存储库模式一起使用。如您所知,IQueryable 只是一个查询定义——还没有触及数据库。

然后将本地需求添加到查询中,最后具体化对象或列表。

似乎工作得很好,并且可以防止在更高抽象层对部分数据进行不必要的数据库查询。

于 2009-03-29T19:35:48.457 回答
0

什么是 Linq2NHibernate?因为有几个项目试图为 nhibernate 实现一个 linq 提供程序,但在完成之前都停止了。

任何 linq 提供程序都需要返回 IQueryable,或者更好的是 IEnumerable,因为这就是 linq 的工作方式。返回 IQueryable 很方便,因为您可以重新使用现有代码将其他运算符填充到已创建的查询中(因为可能返回 IQueryable 的 ctx.Employee 已经是一个查询)

于 2009-03-16T14:00:22.503 回答