Entity framework 实体框架核心不支持System.Linq.Queryable.Exception

Entity framework 实体框架核心不支持System.Linq.Queryable.Exception,entity-framework,entity-framework-core,Entity Framework,Entity Framework Core,请注意此错误消息: System.NotSupportedException:'无法分析表达式 '值(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable 方法“System.Linq.Queryable.Exception”的此重载无效 “当前不受支持。” 较新版本的ef core是否支持 我的代码: var tuple = SearchBrand(searchTerm); var result

请注意此错误消息:

System.NotSupportedException:'无法分析表达式 '值(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable 方法“System.Linq.Queryable.Exception”的此重载无效 “当前不受支持。”

较新版本的ef core是否支持

我的代码:

        var tuple = SearchBrand(searchTerm);
        var result = GetExceptionsBrand(tuple.Item1, categoryId);
        return Json(new
        {
            iTotalDisplayRecords = tuple.Item2,
            iDisplayedBrand = result
                .Skip(page * 10)
                .Take(10)
                .ToList(),
        });
        
public async Task<Tuple<IQueryable<BrandDto>, int, int>>SearchBrand(string searchTerm)
        {
        
        var result = _context.Brands
            .Where(c => c.IsDeleted == displayIsDeleted)
            .WhereDynamic(searchTerm)
        return new Tuple<IQueryable<BrandDto>, int, int>(result, 
        filteredResultsCount, totalResultsCount);
         }

       
public IQueryable<BrandDto> GetExceptionsBrand(IEnumerable<BrandDto> filteredBrand, int categoryId)
    {
        var query = _context.CategoriesBrands.Where(x => x.CategoryId == categoryId);
        var selectedList = new List<BrandDto>();
        foreach (var item in query)
        {
            var cb = new BrandDto()
            {
                BrandDto_BrandId = item.BrandId
                
            };
            selectedList.Add(cb);
        }
        IQueryable<BrandDto> ExcpetList = filteredBrand.AsQueryable().Except(selectedList, new ComparerBrand());
        return ExcpetList;
    }
var tuple=SearchBrand(searchTerm);
var结果=GetExceptionsBrand(tuple.Item1,categoryId);
返回Json(新的
{
iTotalDisplayRecords=tuple.Item2,
iDisplayedBrand=结果
.跳过(第10页)
.Take(10)
.ToList(),
});
公共异步TaskSearchBrand(字符串searchTerm)
{
var结果=_context.Brands
.其中(c=>c.IsDeleted==displayIsDeleted)
.WhereDynamic(搜索术语)
返回新的元组(结果,
filteredResultsCount,totalResultsCount);
}
公共IQueryable GetExceptionsBrand(IEnumerable filteredBrand,int categoryId)
{
var query=_context.CategoriesBrands.Where(x=>x.CategoryId==CategoryId);
var selectedList=新列表();
foreach(查询中的var项)
{
var cb=新BrandDto()
{
BrandDto_BrandId=item.BrandId
};
选择列表。添加(cb);
}
IQueryable ExcpetList=filteredBrand.AsQueryable()。除了(selectedList,new ComparerBrand());
返回ExcpetList;
}

“在较新版本的ef core中受支持?”(1)您使用的ef core版本是什么?(2)失败的查询是什么(除了方法重载(使用相等比较器?)之外,似乎存在不受支持的
,但我们需要查看它)?@IvanStoev:我正在使用ef core 2.1Ok,现在是查询。请在问题中同时包含这两个选项,而不是在注释中。如果您正在使用,则不受支持。如果您使用的是除
之外的“常规”
,则视情况而定-我们需要查看查询。@IvanStoev:返回filteredBrand.Exception(selectedList,new ComparerBrand()).AsQueryable()这是工作,非常感谢