C# 从另一个列表中的列表创建selectlist from list
我有两种不同的型号。用户角色模型和用户模型。用户可以处于多个角色中,因此在UsersInRoles模型中,它将用户ID与角色ID匹配。我需要做的是为特定角色中的所有用户获取一个selectList。我试过两种不同的方法,但都不管用 以下是我尝试的第一种方法:C# 从另一个列表中的列表创建selectlist from list,c#,asp.net-mvc,linq,selectlist,C#,Asp.net Mvc,Linq,Selectlist,我有两种不同的型号。用户角色模型和用户模型。用户可以处于多个角色中,因此在UsersInRoles模型中,它将用户ID与角色ID匹配。我需要做的是为特定角色中的所有用户获取一个selectList。我试过两种不同的方法,但都不管用 以下是我尝试的第一种方法: var techs = new HashSet<Guid>(db.usersInRoles.Where(u => u.RoleId == new Guid(Properties.Settings.Default.TechI
var techs = new HashSet<Guid>(db.usersInRoles.Where(u => u.RoleId == new Guid(Properties.Settings.Default.TechID)).Select(u => u.UserId));
ViewBag.SearchTechnician = new SelectList(db.Users.Where(u => u.UserId == techs.Contains<userId>).OrderBy(u => u.FirstName).ThenBy(u => u.LastName), "FullName", "FullName");
我在第二个where条款中收到了一个错误,它说:
无法将System.Guid类型隐式转换为bool
我是在正确的轨道上,还是完全走错了路?使用==而不是=在您使用的第二种方法中进行比较
where ur.RoleId == new Guid(Properties.Settings.Default.TechID)
您需要使用==在发布的第二个代码段中进行比较。将
=
替换为=
:其中ur.RoleId==新Guid(Properties.Settings.Default.TechID
。而且包含的没有任何意义。
where ur.RoleId == new Guid(Properties.Settings.Default.TechID)