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.JdbcOdbc...