C#Linq Lambda左加入哪里权利为空
因此,我有一个分支model.Salesmen
中的现有销售员列表为List<ApplicationUser>
。C#Linq Lambda左加入哪里权利为空
我想生成所有其他用户的列表来填充下拉菜单,以便于添加。我到目前为止已经写的,由this SO post启发:
db.Users.Where(u => !model.Salesmen.Any(m => u.Id == m.Id)).OrderBy(u => u.Name).ToList();
的错误,我得到:
无法创建类型的常量值“Leads.Models.ApplicationUser”。只有原始类型或枚举类型在此上下文中受支持。
我在做什么错,我该如何解决?
回答:
由于EF无法将其转换为查询,因此无法将整个集合放入lambda表达式中。这样做:
var salesMenIds = model.Salesmen.Select(s => s.Id); db.Users.Where(u => !salesMenIds.Contains(u.Id)).OrderBy(u => u.Name).ToList();
以上是 C#Linq Lambda左加入哪里权利为空 的全部内容, 来源链接: utcz.com/qa/265698.html