c# - 通过在实体框架中按月份分组来获取总金额
问题描述
我需要在实体框架中编写一个 SQL 查询,以便以数组格式获取总费用金额(即我需要按月对金额进行分组)。
我试过这个实体框架查询,但没有成功:
double[] Amountdate;
using (IncomeExpenseManagementDBEntities incomeExpenseManagementDB = new IncomeExpenseManagementDBEntities())
{
Amountdate = incomeExpenseManagementDB
.Expenses
.Select(e => e.Amount)
.Where(e => e.userID == IncomeExpenseTool.user.Id)
.GroupBy(e => e.Date.Month);
}
感谢对此的任何投入
解决方案
您需要最后执行 Select,然后您需要通过求和来聚合值。
var amountsByMonth = incomeExpenseManagementDB.Expenses
.Where(e => e.userID == IncomeExpenseTool.user.Id)
.GroupBy(e => e.Date.Month)
.Select(grp => new
{
Month = grp.Key,
TotalAmount = grp.Sum(x => x.Amount)
})
.ToList();
这将导致您的数据库中表示的每个月的金额总和(换句话说,如果您没有 3 月份的数据,您将不会得到 3 月份的结果)。
推荐阅读
- angular - Angular中的登录页面重新路由
- nestjs - 如何在 typeOrm 中获得我的关系 dto?
- sphinxsearch - 狮身人面像搜索:如何理解 min_prefix_len
- jquery - 如何连接 2 个与 OR 运算符相同的 jquery 函数?
- python - 使用 INSTALOADER 如何添加配置文件列表?现在我得一一写
- python - 有没有办法通过在 vscode 中输入 python 模块的名称来直接获取导入
- metamask - MetaMask 问题显示在开发人员选项的控制台中
- c++ - 将时间从 24 小时制转换为 12 小时制,反之亦然
- c++ - 局域网中的 Boost asio 握手失败
- php - Laravel MongoDB 建模父一对多子,当前支持一个