首页 > 其他分享 >abp分页查询时,如果IQueryable返回的是IQueryable<DTO>,不能使用.OrderBy().PageBy()

abp分页查询时,如果IQueryable返回的是IQueryable<DTO>,不能使用.OrderBy().PageBy()

时间:2023-01-29 18:13:38浏览次数:41  
标签:OrderBy dtos PageBy 分页 IQueryable input var query

今天在做分页查询时,需要联表查询,然后将 this.GetQueryableForMobile(input) 方法的返回结果改成了IQueryable<ExternalAssignmentWorkOrderDetailListDto>,而不是具体的某个领域模型。导致代码执行到 ToListAsync() 时报错。错误信息就不贴了。

解决方法是不要用Abp的分页了,用普通的linq分页就行了。

        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<PagedResultDto<ExternalAssignmentWorkOrderDetailListDto>> GetPagedForMobile(GetExternalAssignmentWorkOrderDetailsInput input)
        {
            var query = this.GetQueryableForMobile(input);

            var count = await query.CountAsync();

            // query返回的不是领域模型,而是dto,如果还这么写会报错。
            //var dtos = await query
            //    .OrderBy(input.Sorting).AsNoTracking()
            //    .PageBy(input)
            //    .ToListAsync();

            var dtos = query.Skip(input.SkipCount).Take(input.MaxResultCount).ToList();

            await this.HandleResultForMobile(dtos);

            return new PagedResultDto<ExternalAssignmentWorkOrderDetailListDto>(count, dtos);
        }

 

标签:OrderBy,dtos,PageBy,分页,IQueryable,input,var,query
From: https://www.cnblogs.com/subendong/p/17073431.html

相关文章

  • 排序OrderBy【C#】
    需求:排序的时候,使用自身的o.字段并不能满足排序需求,需要自定义排序。如下是自定义排序的代码示例:privateList<ROI>changeROIRank(List<ROI>rOIs){List<ROI>or......
  • .ToList()前的OrderBy是起不到排序效果的【未解决】
    废话也不说了,直接上图  思考:很多时候我们都想通过Linq的OrderBy给数据集进行排序,这样确实是有效的,但是如果后面将数据集改成了ToList()的话是又会重新打乱排序方式的!......
  • 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘(IQueryable和IEnum
    本节内容,涉及4.6(P116-P130)。主要NuGet包:如前述章节 一、LINQ和EFCore的集合查询扩展方法的区别1、LINQ和EFCore中的集合查询扩展方法,虽然命名和使用完全一样,都两者定义......
  • C# OrderBy多个字段排序
    C#OrderBy多个字段排序先按Sort字段正序排序,再按CreateDate降序排序,如果三个字段进行排序,我才是再后面再加ThenByDescendingvarresult=_IDbConnection.Query<Query......
  • mysqlorderbywhere
    mysql含有ORDERBYidDESCLIMIT的查询语句还能用WHERE(1=1)吗SQL这样处理是没有问题的,在绝大多数的软件开发中,都是按照你这样的思路做的。但如果commend='{$uid}......
  • .NET Core C#系列之XiaoFeng.Data.IQueryableX ORM框架
    ​         当前对象操作数据库写法和EFCore极度类似,因为现在大部分程序员都懒得去写SQL,再一个就是项目作大了或其它原因要改数据库,每次改数据库,那么写的SQL语......