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 に答える