2011-09-11 154 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

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