Linq 实体框架选择,包括+;按计数分组+;分页和投影
我正在尝试使用EF6执行一个查询,该查询将急切地加载一个相关对象,然后对其进行分组,然后计算相关记录的总数并进行分页,但到目前为止,我没有成功 这是我的尝试,但它只执行连接和分页Linq 实体框架选择,包括+;按计数分组+;分页和投影,linq,entity-framework,dto,projection,Linq,Entity Framework,Dto,Projection,我正在尝试使用EF6执行一个查询,该查询将急切地加载一个相关对象,然后对其进行分组,然后计算相关记录的总数并进行分页,但到目前为止,我没有成功 这是我的尝试,但它只执行连接和分页 _dbcontext.PublicUsers .Include(x=> x.DocumentIndices)
_dbcontext.PublicUsers
.Include(x=> x.DocumentIndices)
.OrderBy(x=> x.Lastname)
.ThenBy(x=> x.Firstname)
.Skip((request.PageNumber - 1) * request.PageSize)
.Take(request.PageSize)
.ToList()
.Select(x => new PublicUserList
{
Id = x.Id,
Email = x.Email,
Firstname = x.Firstname,
Lastname = x.Lastname,
Middlename = x.Middlename,
Fullname = x.Fullname,
NoOfResults = x.DocumentIndices.Count()
}).ToList();
在EF6中,有没有办法在一次到db的行程中执行三个操作(按计数加入+分组+分页)?除非我误读了这一点,否则我认为这只是删除几行代码的问题:
\u dbcontext.PublicUsers
.OrderBy(x=>x.Lastname)
.ThenBy(x=>x.Firstname)
.Skip((request.PageNumber-1)*request.PageSize)
.Take(请求.PageSize)
.选择(x=>new PublicUserList
{
Id=x.Id,
Email=x.电子邮件,
Firstname=x.Firstname,
Lastname=x.Lastname,
Middlename=x.Middlename,
Fullname=x.Fullname,
NoOfResults=x.documentIndexes.Count()
})
.ToList();
答案是肯定的。但根据你提供的信息,这是我们唯一能说的。