实体框架组,如果选择全部,则选择全部

时间:2017-06-07 02:15:15

标签: asp.net-mvc entity-framework razor

我有一个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);
    }
}

请问我该怎么做?

1 个答案:

答案 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分组的相关项目,每个项目都包含所请求的搜索条件。