The LINQ expression ‘DbSet<Supplies>() .Where(s => s.alarmState == "缺货") .Where(s => !(__invalidList_0 .Any(y => s.id == y.id)))‘ could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to ‘AsEnumerable‘, ‘AsAsyncEnumerable‘, ‘ToList‘, or ‘ToListAsync‘. See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.
执行下面语句出错,我得到的错误是"无法翻译.要么以可以翻译的形式重写查询,要么通过插入对AsEnumerable(),AsAsyncEnumerable(),ToList()或ToListAsync()."
db.ApplicationForm.Where(x => realNeedApplyList.Any(y => x.id == y.applicationformid));
也就是 在where 中认不出 y.applicationformid,所以改一下
var applicationformids = realNeedApplyList.Select(x => x.applicationformid); var applicationform = db.ApplicationForm.Where(x => applicationformids.Contains(x.id));
改成两句就可以了。