45

nhibernate の linq を使用して、複数のオブジェクトに対して fetchmode をeager に設定する方法はありますか? オブジェクトを1つだけ設定できるexpandメソッドがあるようです。ただし、複数のオブジェクトに設定する必要があります。これは可能ですか?ありがとう

4

4 に答える 4

106

新しい Linq プロバイダーでは、これが少し異なります。

var customers = session.Query<Customer>().Fetch(c => c.Orders).ToList();

詳細はこちら: http://mikehadlow.blogspot.com/2010/08/nhibernate-linq-eager-fetching.html

于 2010-08-06T11:22:07.893 に答える
19

何度も使用してください。

IList<Entity> GetDataFromDatabase()
{
    var query = session.Linq<Entity>();
    query.Expand("Property1");
    query.Expand("Property2");
    return query.ToList();
}
于 2009-05-06T23:57:20.630 に答える
8

私の知る限り、これは同等ではありません。SetFetchMode はオブジェクト ツリーをハイドレートし、Expand メソッドはデカルト積を取得します。

于 2009-09-20T20:23:24.967 に答える