使用Linq选择总和大于0的行

时间:2016-09-22 13:12:27

标签: c# asp.net entity-framework linq linq-to-sql

我需要这样做,例如:选择总金额大于0的客户。我尝试了下面的代码并参考此结果尝试获取数据。但没有得到正确的结果。

    var query = (from a in saleList
                     group a by a.Cust_Ledger_Entry_No into groups
                     select groups.Sum( s => s.Amount) > 0).ToList();

我做了以上查询。现在我需要满足上述条件的数据。请帮助我。

1 个答案:

答案 0 :(得分:4)

您需要Where

var query = from a in saleList
            group a by a.Cust_Ledger_Entry_No into g
            where g.Sum( s => s.Amount) > 0
            select new { Cust_Ledger_Entry_No = g.Key, SumAmount = g.Sum( s => s.Amount) };
  

我需要结果,比如金额大于0的客户   所有列

如果a是客户,您需要选择全部,您可以使用此查询:

var query = from a in saleList
            group a by a.Cust_Ledger_Entry_No into g
            where g.Sum( s => s.Amount) > 0
            from customer in g  // flatten each group
            select customer;