2012-07-25 123 views
0

我有下列對象: A - >乙 - >的IList - > d - >的IList等..NHibernate的避免N + 1與深能級

如果我取A的列表中,NHibernate的確實B上的內連接。沒關係。 但是C被提取的N + 1問題。

我嘗試這樣做:

var query = session.Query<A>() 
    .Fetch(x => x.B) 
    .ThenFetchMany(x => x.C) 
    .Distinct(); 

但後來他做了117獲取的,而不是5之前。例如,E現在不是急於加載。或者C是B的十倍而不是一次。

這種情況的最佳方法是什麼?

在此先感謝

回答