微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASPBoilerplate - .Net Core 3 错误 - 以可翻译的形式重写查询

如何解决ASPBoilerplate - .Net Core 3 错误 - 以可翻译的形式重写查询

我试图显示属于用户所属的任何组织单位的实体的所有记录。我在 Where 子句中收到以下错误。我可以注释掉 where 子句,一切正常。显然这并不理想,但我知道错误来自那条线。我明白发生了什么,但我不知道如何解决

错误如下:要么以可翻译的形式重写查询,要么通过插入对“AsEnumerable”、“AsAsyncEnumerable”、“ToList”或“ToListAsync”的调用来显式切换到客户端评估.

感谢任何帮助。

这是我的代码

  public async Task<PagedResultDto<GetCouponForViewDto>> GetAll(GetAllCouponsInput input)
    {
        var user = await _userManager.GetUserByIdAsync(AbpSession.UserId??0);
        var organizationUnits = _userManager.GetorganizationUnits(user);
        var organizationUnitCodes = organizationUnits.Select(ou => ou.Code);


        var filteredCoupons = _couponRepository.GetAll()
                    .WhereIf(!string.IsNullOrWhiteSpace(input.Filter),e => false || e.Description.Contains(input.Filter))
                    .WhereIf(!string.IsNullOrWhiteSpace(input.DescriptionFilter),e => e.Description == input.DescriptionFilter);

        var pagedAndFilteredCoupons = filteredCoupons
            .OrderBy(input.sorting ?? "id asc")
            .PageBy(input);



        var coupons = from o in pagedAndFilteredCoupons
                      join organizationUnit in _organizationUnitRepository.GetAll() on 
                      o.OrganizationUnitId equals organizationUnit.Id

                      // ** **This next line is where the error is coming from** ** //

                      where organizationUnitCodes.Any(code => organizationUnit.Code.StartsWith(code))

                      select new GetCouponForViewDto()
                      {
                          Coupon = new CouponDto
                          {
                              Description = o.Description,Id = o.Id
                          }
                      };


        var totalCount = await coupons.CountAsync();

        return new PagedResultDto<GetCouponForViewDto>(
            totalCount,await coupons.ToListAsync()
        );
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?