访问组中的一个项目
本文关键字:一个 项目 访问 | 更新日期: 2023-09-27 18:30:07
我有一个LINQ到SQL查询,它正在对项目进行分组,如下所示:
var myGroup = (from ps in this.Context.PersonSpecialties
where personKeys.Contains(ps.Person_K)
group ps.SpecialtyName by ps.Person_K).ToList();
我如何检查这个结果中是否有密钥为"A12345"的内容?如果有,就去拿它的物品清单。
我假设您正在寻找一种用多个键查询组的方法,因为否则直接筛选这一个键会容易得多(而不是构建一个组,然后丢弃除所需单个项之外的所有项)。
在这种情况下,您最好对组调用ToDictionary
,然后按键查询字典中的列表,如下所示:
var groupByKey = (from ps in this.Context.PersonSpecialties
where personKeys.Contains(ps.Person_K)
group ps.SpecialtyName by ps.Person_K).ToDictionary(g => g.Key);
// Now you can get your lists with a simple look-up
IEnumerable<PersonSpeciality> listForA12345 = groupByKey["A12345"];
IEnumerable<PersonSpeciality> listForB23456 = groupByKey["B23456"];
...
IEnumerable<PersonSpeciality> listForA12345 = groupByKey["Z22232"];