Linq to SQL - 指定与Group By列不同的列

时间:2016-08-28 04:28:03

标签: c# sql-server linq visual-studio-2015

如何计算以下示例 LEFT Outer JOIN中每位客户的订单数量?

模型

Public class Customer
{
   public int CustomerId { get; set; }
   public string Name{ get; set; }
}

Public class Order
{
   public int OrderId { get; set; }
   public int CustomerId { get; set; }
}

LINQ查询

var Query1 = from c in Customers
             join o in Orders into co
             from t in co.DefaultIfEmpty()
             select new {CustomerID = c.CustomerId, OrderID = (t == null ? 0 : t.OrderId)};

1 个答案:

答案 0 :(得分:0)

如果您想通过使用customerId为每个客户集团订购多少订单,请尝试使用此代码

var Query1 = from c in Customers
                join o in Orders on c.CustomerId equals o.CustomerId
                group o by o.CustomerId
                into g
                select new {CustomerId = g.Key, OrderCount = g.Count()};