Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取linq查询上下文之外的count变量_C#_Linq - Fatal编程技术网

C# 获取linq查询上下文之外的count变量

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?

如何将计数分配给totalCases变量

我只是想知道我是否可以做如下的事情

 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)
                };