0

嘿伙计们,我正在使用 NHibernate 版本 2.1.2.4000。

实体

class bowl
{
    int id { get; set; }
    List<fruit> fruits { get; set; }
}

所需的(伪)查询

var bowls = repository.where(b => b.fruits.count > 1);

问题

如何使用 NHibernate 标准 API 进行上述查询?

理想情况下,我希望能够做这样的事情(没有子查询,没有分离的标准):

var bowls = repository.where(Restrictions.Gt("fruits.count", 1));

以上是否可能以某种方式?

干杯!

4

1 回答 1

1

只有使用独立的标准才有可能。

另一方面,使用 HQL 按“计数”过滤非常容易:

from bowl where fruits.size > 1

Criteria API 没有 HQL 强大。不幸的是,所有这些 linq 风格的 API 都是基于标准的。

于 2010-09-16T06:32:28.747 回答