2011-09-11 73 views
1

找到所有的客戶,其購買的是小於10000LINQ到SQL問題

var Customer = from c in _NorthWindDataContext.Customers 
       join o in _NorthWindDataContext.Orders on c.CustomerID equals o.CustomerID 
       group c by c.CustomerID into CutGroup 
       where CutGroup.Sum(tab => tab.Orders.Sum(t => t.Order_Details.Sum(t1 => t1.Quantity * t1.Quantity))) < 10000 
       select new 
       { 
        CustomerID = CutGroup.Key, 
        Total = CutGroup.Sum(tab => tab.Orders.Sum(t => t.Order_Details.Sum(t1 => t1.Quantity * t1.Quantity))), 
       }; 

我已經解決了,但如果我想然後訪問Order表信息我怎麼能訪問...

爲了您的信息,我結合顧客電網....所以如果我理解你想要正確地什麼我不能使用每個

+0

客戶有很多訂單您想要訪問的訂單的信息。此外,如何收集匿名對象應該填充網格? –

回答

1

,你可以試試這個:

var Customer = from c in _NorthWindDataContext.Customers 
       join o in _NorthWindDataContext.Orders on c.CustomerID equals o.CustomerID 
       group c by c.CustomerID into CutGroup 
       where CutGroup.Sum(tab => tab.Orders.Sum(t => t.Order_Details.Sum(t1 => t1.Quantity * t1.Quantity))) < 10000 
       select new 
       { 
        CustomerID = CutGroup.Key, 
        Total = CutGroup.Sum(tab => tab.Orders.Sum(t => t.Order_Details.Sum(t1 => t1.Quantity * t1.Quantity))), 

        Orders = from os in _NorthWindDataContext.Orders where os.CustomerID == CutGroup.Key select os, 
       }; 
+0

你...你是對的.... – jats

+0

不要忘記投票... ;-) –