0
問題:給定一個NHibernate實體Parent,有沒有什麼辦法可以在數據庫端執行一個Children集合上的LINQ查詢,而不是延遲加載所有的子進程,然後執行查詢?如何優化LINQ到NHibernate延遲加載
場景:
父對象有IList的集合(兒童)
var parent = _parentRepository.Get(parentId); //loads parent
..do stuff
//this causes all Child objects to be loaded into memory
//and then finds the subset of boy objects (not great performance)
var boys = parent.Children.Where(t => t.Sex == 1);
如果我試圖明確地傳遞一個Expression<Func<Child, bool>>
,我得到一個錯誤,它的期待型Func<Child, bool>
。
有什麼辦法可以獲得更高效的延遲加載瓦特/ NHibernate的?
謝謝!
是的,這就是我所害怕的 - 希望有人比我設計更高效的方法更聰明。 – sydneyos