C# 获取linq查询上下文之外的count变量
如何将计数分配给totalCases变量 我只是想知道我是否可以做如下的事情C# 获取linq查询上下文之外的count变量,c#,linq,C#,Linq,如何将计数分配给totalCases变量 我只是想知道我是否可以做如下的事情 let count = DbContext.Set<CaseAction>().Count(c => c.IsToDo == isToDo) into totalCases let count=DbContext.Set() 使用let声明的变量是否可以在查询上下文之外访问 public PagedList GetCatTaskByCompanyId(int companyId, int?
let count = DbContext.Set<CaseAction>().Count(c => c.IsToDo == isToDo) into totalCases
let count=DbContext.Set()
使用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
};
}
public PagedList GetCatTaskByCompanyId(int companyId,int?isToDo,int pageIndex,int pageSize)
{
var totalCases=200;
var caseModels=(来自DbContext.Set()中的casemodel)
其中casemodel.IsToDo==IsToDo
让count=DbContext.Set().count(c=>c.IsToDo==IsToDo)
orderby casemodel.TaskCreatedOn
选择新案例详情模型
{
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(页面索引*页面大小)
.Take(页面大小)
.ToList();
返回新的页面列表
{
数据=案例模型,
PageIndex=PageIndex,
PageSize=PageSize,
计数=总案例数
};
}
删除let
行,同时删除totalCases
返回数据时,只需调用Count()
,将谓词传递到列表中
即
return new PagedList
{
Data = caseModels,
PageIndex = pageIndex,
PageSize = pageSize,
Count = caseModels.Count(c => c.IsToDo == isToDo)
};