使用Linq生成所有客户的总销售对帐单

时间:2019-03-11 08:01:00

标签: c# linq

我有一个Customers.csSales数据库,这里我将介绍如何生成所有客户的总销售对帐单。

实际上,我想计算所有客户的应收帐款。如果我知道如何产生客户总销售额,我可以产生应收帐款报告。

Sale.cs

public partial class Sale
{
    public string SaleId { get; set; }
    public Nullable<System.DateTime> Date { get; set; }
    public string CustomerId { get; set; }
    public string Description { get; set; }
    public Nullable<double> Amount { get; set; }

    public virtual Customer Customer { get; set; }
}

Customer.cs

public partial class Customer
{
    public string CustId { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public string TownCity { get; set; }
    public int Contact { get; set; }
}

我想要这样的结果。

Town/City CustomerName TotalSale

1 个答案:

答案 0 :(得分:0)

您可以使用GroupBy进行操作:

var res = _dbContext.Sales
    .GroupBy(s => s.CustomerId)
    .Select(s => new { CustomerId = s.Key, TotalSales = s.Sum(a => a.Amount) })
    .ToList();