Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从另一个列表中的列表创建selectlist from list_C#_Asp.net Mvc_Linq_Selectlist - Fatal编程技术网

C# 从另一个列表中的列表创建selectlist from list

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

我有两种不同的型号。用户角色模型和用户模型。用户可以处于多个角色中,因此在UsersInRoles模型中,它将用户ID与角色ID匹配。我需要做的是为特定角色中的所有用户获取一个selectList。我试过两种不同的方法,但都不管用

以下是我尝试的第一种方法:

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)