2012-12-21 39 views
1

我是新的LINQ,我需要帮助转换这个SQL代码:要LINQ转换加入和集团通过从SQL到LINQ

SELECT UserId_FK,COUNT(OrderId),SUM(Quantity) 
    FROM Orders o 
    JOIN OrderDetails od 
    ON(o.OrderId = od.OrderId_FK) 
    GROUP BY UserId_FK; 
+0

看看[LINQPad](http://linqpad.net)它将SQL转换为LINQ(等等)。 – ChrisF

+0

这是linq问题的好资源。 http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b –

回答

4

没有看到你的架构文件,我将采取猜测这里:

var userDetail = 
    context.Orders 
     .GroupBy(i => i.UserId_Fk) 
     .Select(i => new { 
         UserId_Fk = i.Key, 
         OrderCount = i.Count(), 
         ProductQuantity = i.Sum(j => context.OrderDetails.Where(k=> k.OrderId_Fk == j.OrderId).Sum(k=> k.Quantity)) 
         }); 
+0

啊,我刚刚发布你打我。 –

+0

Thx家伙即将试用 – Eliza