2010-05-26 52 views

回答

2

不幸的是,實體框架中的對象服務API沒有提供基於條件選擇性加載關聯實體的方法。要解決這個問題

一種方式是投影在查詢結果時過濾相關實體:

context.Customers.Select(c => new 
    { 
     Customer = c, 
     LastOrders = c.Orders 
         .OrderByDescending(o => o.CreatedDate) 
         .Take(3) 
         .ToArray() 
    } 

相關資源:

+4

加上'.ToList ()。選擇(c => c.Customer)',你有你想要的。每個客戶在Orders'實體集合中只有最後3個訂單,但前提是您沒有在同一個環境中提前加載訂單。無需定義其他類型並使用匿名類。 – LukLed 2010-05-26 14:39:08