我建立了一个服务来像这样调用查询
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
我无法将其作为模型返回,并且我不知道对我的quotadaysdays列进行求和
我知道这是一个基本查询,但是我还不熟悉实体框架和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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句