Linq:删除Group By但仍然可以获得它的项目?

时间:2016-04-24 08:08:15

标签: c# linq

只是一些细节。 Get Records是一个变量,它包含我的存储过程的结果。现在,我想问的是,如果我想按功能删除组,但我仍然想获得密钥和项目?有办法吗?

var sortResCinema = GetRecords.Where(x => test2.branch == x.Bbranch && test.movieName == x.MovieName && x.MovieName != null)
                          .GroupBy(x => x.MovieName,
                          (key, elements) =>
                           new
                           {
                               Id = key,
                               Items = elements.ToList()

                            }).ToList();

2 个答案:

答案 0 :(得分:1)

因为您正在寻找特定的movieName,所以不需要GroupBy

我想你想要这样的东西:

var sortResCinema = GetRecords.Where(x => test2.branch == x.Bbranch && test.movieName == x.MovieName).ToList();

答案 1 :(得分:0)

您可以使用Select替换GroupBy。 Select语句可用于更改返回结果的类型,这是您似乎想要执行的操作。应该使用与第二个参数完全相同的语法。所以取代" GroupBy"用"选择"并删除第一个参数。 GroupBy语句中使用的键和元素属性是该函数的内部属性,因此您需要计算出要替换它们的函数,例如,键可能是x.MovieName。