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

回到顶部