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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Linq 实体框架选择,包括+;按计数分组+;分页和投影_Linq_Entity Framework_Dto_Projection - Fatal编程技术网

Linq 实体框架选择,包括+;按计数分组+;分页和投影

Linq 实体框架选择,包括+;按计数分组+;分页和投影,linq,entity-framework,dto,projection,Linq,Entity Framework,Dto,Projection,我正在尝试使用EF6执行一个查询,该查询将急切地加载一个相关对象,然后对其进行分组,然后计算相关记录的总数并进行分页,但到目前为止,我没有成功 这是我的尝试,但它只执行连接和分页 _dbcontext.PublicUsers .Include(x=> x.DocumentIndices)

我正在尝试使用EF6执行一个查询,该查询将急切地加载一个相关对象,然后对其进行分组,然后计算相关记录的总数并进行分页,但到目前为止,我没有成功

这是我的尝试,但它只执行连接和分页

                                             _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();

答案是肯定的。但根据你提供的信息,这是我们唯一能说的。