asp.net - 使用 GroupBy Id 选择 ASP NET CORE 实体框架
问题描述
我建立了一个服务来调用这样的查询
select quotaId, sum(quota)
From leaveQuota
group by quotaId
我在总和和组中遇到问题。如何在实体框架中做到这一点我试过这个
public async Task<List<LeaveTypeModel>> GetLeaveQuota(string employeeId)
{
var leaveQuota = await DB.EmployeeLeaveQuota
.Where(Q => Q.EmployeeId == employeeId && Q.ValidUntil >= DateTime.UtcNow)
.Select(Q => new LeaveTypeModel
{
EmployeeLeaveQuotaTypeId = Q.EmployeeLeaveQuotaTypeId,
QuotaDays = Q.QuotaDays
})
.ToListAsync();
return leaveQuota;
}
我的模型
public class LeaveTypeModel
{
public int EmployeeLeaveQuotaTypeId { set; get; }
public int QuotaDays { set; get; }
}
如果我使用.GroupBy
我不能将它作为我的模型返回,我不知道总结我的配额日列
我知道这是一个基本查询,但我还不熟悉实体框架和 asp.net 核心来返回其数据
解决方案
var leaveQuota = await DB.EmployeeLeaveQuota
.Where(Q => Q.EmployeeId == employeeId && Q.ValidUntil >= DateTime.UtcNow)
.GroupBy(x => x.EmployeeLeaveQuotaTypeId).Select(x =>
new LeaveTypeModel
{
EmployeeLeaveQuotaTypeId = x.Key,
QuotaDays = x.Sum(y => y.QuotaDays)
}).ToListAsync();
推荐阅读
- python - 如何在 keras CNN 中使用黑白图像?
- amazon-web-services - CodePipline Terra来自 || 操作“部署”的操作配置包含未知配置“部署组”
- angular - Angular 10:使用 HttpInterceptor 进行单元测试,它修改了没有得到 HttpResponse 的响应
- python - TypeError:无法将 str 连接到 HTTPSConnection 中的字节
- java - 该程序只是从用户那里获取输入,但不显示输出。在 main 函数中没有退出 while 循环
- javascript - 如何为 NodeJs 中的方法设置时间限制?
- java - Spring Boot Mongo Reactive 类未找到 - 找不到类 [org.springframework.data.mongodb.MongoDatabaseFactory]
- ios - TestFlight 构建产生错误的推送令牌
- tableau-api - 是否可以设置一个 Tableau 工作簿来根据用户(或组)提取不同的数据?
- flutter - 无法将文件添加到列表,异步方法