Orderに多数の が含まれLineItems、それぞれLineItemに が関連付けられているオブジェクト モデルがありますProduct。オブジェクト モデルでは、これらは一方向の関連付けであり、 aLineItemはその について何も知りませんOrder。

文字列に一致する製品名を持つ品目を含む注文をクエリし、注文ごとに 1 行を返します (ページングを実行できるようにするため)。
SELECT * FROM Orders
WHERE OrderID IN (
SELECT DISTINCT OrderID
FROM LineItems
INNER JOIN Products on LineItems.ProductID = Products.ProductID
WHERE Products.Name = 'foo'
)
ICriteriaサブクエリを表すまたはがある場合、IQueryOverそれをルートの Order クエリに実際に適用するにはどうすればよいでしょうか?
var subquery = QueryOver.Of<LineItem>
.Where(l => l.Product.Name == "foo")
.TransformUsing(Transformers.DistinctRootEntity);
クエリのルート オブジェクトが 1 対多の関係の「多」側にあると仮定する例をたくさん見つけましたが、ルート オブジェクトが持つものに制限を追加する方法がわかりません。の多く。