Как выполнить запрос по количеству свойств в nhibernate без использования отдельных критериев? - PullRequest
0 голосов
/ 16 сентября 2010

Эй, ребята, я использую 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);

Вопрос

Как выполнить вышеуказанный запрос с помощью API критериев NHibernate?

В идеале я хотел бы иметь возможность сделать что-то подобное (без подзапросов, без отдельных критериев):

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

Возможно ли вышеизложенное как-то?

ура!

1 Ответ

1 голос
/ 16 сентября 2010

Это возможно только при использовании отдельных критериев.

С другой стороны, фильтрация по "количеству" очень проста с использованием HQL:

from bowl where fruits.size > 1

Criteria API не такой мощный, как HQL. К сожалению, все эти API в стиле linq основаны на критериях.

...