Entity framework 实体框架核心不支持System.Linq.Queryable.Exception
请注意此错误消息: System.NotSupportedException:'无法分析表达式 '值(Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable 方法“System.Linq.Queryable.Exception”的此重载无效 “当前不受支持。” 较新版本的ef core是否支持 我的代码: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
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()这是工作,非常感谢