御风蒲公英 2016-08-25 03:53 采纳率: 0%
浏览 5227

Lambda 多表方法查询 sum+where+group by+order by

select c.Type ,c.ItemName,SUM(a.ConsumptionAmount)
from [dbo].[ConsumptionItem] a left join [dbo].[Membership] b on a.MembershipID=b.ID left join [dbo].[BillItem] c on a.BillItemID=c.ID where b.Name='小明' and c.Type=0
group by c.Type ,c.ItemName
用lambda方法语法 怎么实现这条sql查询,求大神指教···

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-08-25 03:59
    关注
     ConsumptionItem.Join(Membership, x => x.MembershipID, x => x.ID, (a, b) => new { a, b })
    .Join(BillItem, x => x.a.BillItemID, x => x.ID, (a, c) => new { a.a, a.b, c })
    .Where(x => x.b.Name == "小明" && x.c.Type == 0)
    .GroupBy(x => new { c.Type, c.ItemName })
    .Select(x => x.Key.Type, x.Key.ItemName, sum = x.Sum(y => y.a.ConsumptionAmount));
    
    评论

报告相同问题?