我不断收到有关此代码片段(一致性类型是枚举)的实体框架错误:
我尝试在一致性和
IQueryable<Examination> examinationsSet = _context.Examinations;
if (consistency.Length > 0)
{
examinationsSet = examinationsSet
.Where(x => consistency.Any(y => (int)y == (int)x.Consistency));
}
我尝试在一致性和
Any
之间添加AsQueryable
或AsEnumerable
,但这没有帮助。这是我得到的主要错误:
System.InvalidOperationException:“LINQ表达式'Where(
source: DbSet,
predicate: (e) => Any(
source: (Unhandled parameter: __consistency_0),
predicate: (y) => (int)y == (int)e.Consistency))'
无法被翻译。请将查询重写为可翻译的形式,或通过插入对AsEnumerable()
、AsAsyncEnumerable()
、ToList()
或ToListAsync()
的调用来显式地切换到客户端评估。
Consistency
的定义是什么?EF 如何编写将一个值转换为int
的 SQL 查询语句? - David Browne - Microsoft