【问题标题】:Entity Framework Select with Include + Group By Count + Paging and Projection实体框架选择包含 + 按计数分组 + 分页和投影
【发布时间】:2014-10-08 09:30:52
【问题描述】:

我正在尝试使用 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中完成三个操作(join + group by count + paging)?

【问题讨论】:

  • 答案是肯定的。但这是我们对您提供的信息唯一能说的。

标签: linq entity-framework dto projection


【解决方案1】:

除非我看错了,否则我认为这只是删除几行的问题:

_dbcontext.PublicUsers
    .OrderBy(x=> x.Lastname)
    .ThenBy(x=> x.Firstname)
    .Skip((request.PageNumber - 1) * request.PageSize)
    .Take(request.PageSize)
    .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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 2015-09-26
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多