我有一个table,我希望按其ID分组表格,例如,如果我搜索" Statoil Nig Ltd"在ValStr
列中,我想检索ValStr
中具有相同ID的所有数据(323439,以便每个都可以单独使用,如this(即标题将是来自ValStr
的字符串,地址将是另一个字符串)。
到目前为止,这就是我所做的:
var groups = _entities.LLAttrDatas
.Where(r => r.ValStr.Contains("4502207741") && r.AttrID == 2)
.GroupBy(r => r.ID);
foreach (var group in groups)
{
Console.WriteLine("List with ID == {0}", group.Key);
foreach (var item in group)
{
if (item.ValStr.Contains("4502207741") && item.AttrID == 2)
{
}
Console.WriteLine(" Item: {0}", item.ValStr);
}
}
请问我该怎么做?
答案 0 :(得分:0)
我想我明白你在寻找什么...... 如果你想获得按ID分组的所有集合,它们共享一个共同的值(valStr / w给定的AttrId),那么你所拥有的就在那里:
var ids = _entities.LLAttrDatas
.Where(r=> r.Valstr.Contains("4502207741") && r.AttrId == 2)
.Select(r=> r.ID);
var groups = _entities.LLAtrDatas
.Where(r=> ids.Contains(r.ID))
.GroupBy(r=> r.ID);
从那里,您将拥有一组按ID分组的相关项目,每个项目都包含所请求的搜索条件。