linq查询连接两个表并从另一个表中获取一个表值的计数

时间:2009-05-07 14:12:43

标签: .net sql linq .net-3.5 lambda

我有两个表客户,订单

客户 顾客ID FName参数 LName的

订单 的OrderId 顾客ID 订购日期

我想制作一个linq语句,可以加入这两个表并得到
FName,LName,每个客户的订单数

2 个答案:

答案 0 :(得分:6)

from c in Customers
join o in Orders on c.CustomerID equals o.CustomerID into g
select new { c.FName, c.LName, Count=g.Count() }

答案 1 :(得分:2)

from c in db.Customers
let theCount = c.Orders.Count()
select new {c.FName, c.LName, theCount}

http://msdn.microsoft.com/en-us/library/bb425822.aspx#linqtosql_topic11

  

这些访问操作转换为更复杂的连接或相关子查询在等效的SQL 中,允许您在查询期间遍历对象图。