在以下代码上,我遇到异常
var ret = db.Especialidades.Except(sol.EspecialidadesExigidas).ToList();
这是例外
Unable to create a constant value of type 'TCC.Models.Especialidade'.
Only primitive types or enumeration types are supported in this context.
我研究了其他类似的问题,并试图调整他们的答案,但没有成功。其他豁免:
var ret = (from e in db.Especialidades where !sol.EspecialidadesExigidas.Any(e2 => e2.Id == e.Id) select e).ToList();
var ret = (from e in db.Especialidades where !sol.EspecialidadesExigidas.Select(e2 => e2.Id).Contains(e.Id) select e).ToList();
我想做的是从列表中未包含的数据库中获取所有“特殊科目”
如何使用ID列表代替,以便Linq提供程序知道如何将其转换为SQL。
var ids = sol.EspecialidadesExigidas.Select(e => e.Id).ToList();
var ret = db.Especialidades.Where(e => !ids.Contains(e.Id));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句