2011-03-06 56 views
1

對實體框架4使用RIA域服務,我無法獲得過濾相關項目的實體。RIA服務ObjectContext過濾器包含的記錄

例如 假設:Order表和產品表(1級有許多產品)

我有服務返回訂購的產品加載,例如

public IQueryable<Order> GetOrderById(int orderId) 
    { 
     return this.ObjectContext.Order 
           .Include("Products") 
           .Where(n=>n.OrderId == orderId); 
    } 

問題,

有沒有辦法來過濾,在這種情況下,LINQ查詢產品記錄? 說,返回指定的Id的訂單和包括價格高於100.0的產品;返回空/空如果沒有任何產品。這裏的要點是要返回訂單,即使沒有任何產品符合標準

回答

3

你有沒有嘗試過這樣的事情:

var query = from o in ObjectContext.Order.Include("Products") 
      join p in ObjectContext.Product on o.ProductId equals p.ProductId 
      where o.OrderId == orderId and p.Price > 100 
      select o; 
+0

感謝羅斯的回答,我才迎來最終的答案,我想看到更多的選擇。 – 2011-03-06 23:01:14

+0

+1好回答Rus – Shimmy 2011-03-07 11:13:46

+0

好的謝謝羅斯的回答,我正在等待其他選擇,但你的一個應該足夠好。 – 2011-03-08 02:35:34

相關問題