所以我在model.Salesmen
的一个分支中列出了List<ApplicationUser>
的现有销售人员名单。
我想生成一个包含所有其他用户的列表,以填充下拉菜单以便于添加。到目前为止,我写的是受到this SO post的启发:
db.Users.Where(u => !model.Salesmen.Any(m => u.Id == m.Id)).OrderBy(u => u.Name).ToList();
我得到的错误:
无法创建“Leads.Models.ApplicationUser”类型的常量值。在此上下文中仅支持基元类型或枚举类型。
我做错了什么,我该如何解决?
您无法将整个集合放入lambda,因为EF无法将其转换为查询。像这样做:
var salesMenIds = model.Salesmen.Select(s => s.Id);
db.Users.Where(u => !salesMenIds.Contains(u.Id)).OrderBy(u => u.Name).ToList();