[英]Get the count variable outside the linq query context
如何将计数分配给totalCases变量?
我只是想知道我是否可以做以下事情,
let count = DbContext.Set<CaseAction>().Count(c => c.IsToDo == isToDo) into totalCases
用let声明的变量是否可以在查询上下文之外访问?
public PagedList GetCatTaskByCompanyId(int companyId, int? isToDo, int pageIndex, int pageSize)
{
var totalCases = 200;
var caseModels = (from casemodel in DbContext.Set<CaseAction>()
where casemodel.IsToDo == isToDo
let count = DbContext.Set<CaseAction>().Count(c => c.IsToDo == isToDo)
orderby casemodel.TaskCreatedOn descending
select new CaseDetailsModel
{
TaskId = casemodel.Id,
CompanyId = companyId,
Title = casemodel.Title,
TaskTypeId = casemodel.TaskTypeId,
TaskTypeGroupId = casemodel.TaskTypeGroupId,
CaseSubject = casemodel.TaskName,
CurrentComment = casemodel.CurrentComment,
IsPinned = casemodel.Pinned,
CurrentActionTypeId = casemodel.CurrentActionTypeId,
CurrentActionTypeName = casemodel.CurrentActionTypeName,
NextActionDueOn = casemodel.NextActionDueOn,
CurrentActionCreatedOn = casemodel.CurrentActionCreatedOn,
CurrentActionAssignedTo = casemodel.AssignedToStaffName,
NextActionTypeName = casemodel.NextActionTypeName,
ActionCount = casemodel.ActionCount
}).Skip(pageIndex * pageSize)
.Take(pageSize)
.ToList();
return new PagedList
{
Data = caseModels,
PageIndex = pageIndex,
PageSize = pageSize,
Count = totalCases
};
}
删除let
行,也删除totalCases
。
当返回数据时,只需调用Count()
(将谓词传递到列表中)即可。
IE
return new PagedList
{
Data = caseModels,
PageIndex = pageIndex,
PageSize = pageSize,
Count = caseModels.Count(c => c.IsToDo == isToDo)
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.