我正在尝试使用bool从集合中获取ID,以告诉我该ID是否与其他值相关联。
所以,我有这个:
public class RoleAssignment
{
[Key]
public int RoleAssignmentId { get; set; }
public Guid AssigneeId { get; set; }
public int RoleId { get; set; }
}
有了这些数据:
var rAssnd = new List<RoleAssignment>{
{ 2, 0251F0D6-F2C9-E511-8C3C-00215E466552, 48 }
{ 3, 0251F0D6-F2C9-E511-8C3C-00215E466552, 49 }
{ 4, 0251F0D6-F2C9-E511-8C3C-00215E466552, 52 }
{ 5, F48459F5-469F-E511-8172-00215E466552, 44 }
}
所以,如果我正在检查RoleId 49,我想得到一个这样的结果集:
0251F0D6-F2C9-E511-8C3C-00215E466552, true
F48459F5-469F-E511-8172-00215E466552, false
现在我正在尝试这个:
var results = selected.GroupBy (s => s.AssigneeId, s => s.RoleId == proposalRole);
但这给了我Guid和一份清单。
我可以将第二个值设为Any(s.RoleId == proposalRole)
吗?
答案 0 :(得分:2)
第一组,然后使用any来检查每个组的规则。
var results = rAssnd
.GroupBy(s => s.AssigneeId)
.Select(g => new
{
g.Key,
hasRule = g.Any(s => s.RoleId == proposalRole)
});