我有這些實體:NHibernate和「匿名」實體
public class Parent
{
public int Foo { get; set; }
public Child C { get; set; }
}
public class Child
{
public string Name { get; set; }
}
我有查詢其獲取所有父實體從數據庫中。然後我將它們保存在內存中,並使用LINQ查詢進行過濾。
我注意到當我做數據庫查詢時,NH在一個查詢中選擇了所有的父實體(當然也填充了Foo屬性),並且對於每個使用LINQ訪問的父母,NH獲取每個子的信息。
如何在一個獨特的數據庫中獲取我需要的所有信息,並在沒有它的情況下使用LINQ中的數據生成額外的數據庫行程?
我應該使用AliasToBeanResultTransformer嗎?如果是這樣,我必須創建一個DTO來存儲信息,如:
public class ParentDTO
{
public int Foo { get; set; }
public string ChildName { get; set; }
}
還是必須仍然使用父類?
在此先感謝
我怎麼能這麼想:D – Mike 2011-06-09 20:56:40
這實際上是一個壞主意。使用緩存,批處理和ad-hoc連接抓取更好(請參閱Carl的答案) – 2011-06-10 18:18:54