could not be translated. Either rewrite the query in a form that can be translated, or switch to cli

2021/8/21 23:08:06

本文主要是介绍could not be translated. Either rewrite the query in a form that can be translated, or switch to cli,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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));

改成两句就可以了。

 



这篇关于could not be translated. Either rewrite the query in a form that can be translated, or switch to cli的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程