对应SQL的Linq查询

对应SQL的Linq查询,linq,c#-4.0,entity-framework-4,linq-to-entities,Linq,C# 4.0,Entity Framework 4,Linq To Entities,下面是我的SQL语句,我无法转换为LINQ select o.CustId,c.CustName,Count(o.CustId) as Total_Orders from Customer c inner join Orders o on c.CustId = o.CustId group by o.CustId,c.CustName 以下是LINQ查询(dbis EntityFramework) 请尝试: var query = from c in Customer

下面是我的SQL语句,我无法转换为LINQ

select o.CustId,c.CustName,Count(o.CustId) as Total_Orders from Customer c 
inner join Orders o on c.CustId = o.CustId group by o.CustId,c.CustName

以下是LINQ查询(
db
is EntityFramework)

请尝试:

    var query = from c in Customer
            join o in Orders 
            on c.CustId 
            equals o.CustId 
            group x by new {o.CustId, c.CustName} 
            into g
                select new 
                {
                  g.Key.CustId,
                  g.Key.CustName,
                  Total_Orders = g.Count()
                };

像这样的怎么样

var query = db.Customers.Select(c => new 
                {
                    CustId = c.CustId,
                    CustName = c.CustName,
                    Total_Orders = db.Orders.Where(o => o.CustId == c.CustId).Count()
                }
            );
使用linq。
var query = db.Customers.Select(c => new 
                {
                    CustId = c.CustId,
                    CustName = c.CustName,
                    Total_Orders = db.Orders.Where(o => o.CustId == c.CustId).Count()
                }
            );
var query = from c in context.Customers
            select new
            {
                c.CustId,
                c.CustName,
                Orders = c.Orders.Count(),
            };