如何使用 LINQ 或任何内容计算当前日期所做的条目的费用总和



我想计算当前日期条目的支出总和。这是我的模型。

public class ExpenditureViewModel
{
    public decimal PaidPrice { get; set; } 
    public DateTime CreatedDate {get; set;}       
}

这是仪表板视图模型

public decimal TotalExpenses { get; set; }

此代码将汇总所有费用,但我想要当前日期。

model.TotalExpenses = ent.Expenditures.Sum(m => m.PaidPrice);

为此可以使用 Linq Where() 子句。它将使用指定的条件筛选项目,下一条语句将仅使用筛选的项目。

var date = DateTime.Today;   // example date, change as needed
model.TotalExpenses = ent
    .Expenditures
    .Where(m => m.CreatedDate == date)
    .Sum(m => m.PaidPrice);

如果您的CreatedDate具有 00:00:00 以外的时间部分,则需要检查日期和第二天之间的范围:

var date = DateTime.Today;   // example date, change as needed
var nextDay = date.AddDays(1);
model.TotalExpenses = ent
    .Expenditures
    .Where(m => m.CreatedDate >= date && m.CreatedDate < nextDay)
    .Sum(m => m.PaidPrice);