2016-04-24 3 views
0

Просто некоторые детали. Get Records - это переменная, в которой содержатся результаты моей хранимой процедуры. Теперь я хочу спросить, что, если я хочу удалить группу по функции, но я все еще хочу получить ключ и элементы? Есть ли способ сделать это?Linq: Removing Group By, но все еще получает свои предметы?

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(); 

ответ

1

Здесь нет необходимости в GroupBy, так как вы ищете определенное имя фильма.

Я думаю, вы хотели что-то вроде этого:

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

Вы можете заменить GroupBy на Select. Оператор Select может использоваться для изменения типа возвращаемых результатов, что, как вам кажется, нужно делать. Должен работать с тем же синтаксисом, что и второй параметр. Поэтому замените «GroupBy» на «Select» и удалите первый аргумент. Свойства ключа и элементов, которые используются в инструкции GroupBy, являются внутренними для этой функции, поэтому вам нужно будет определить, какую функцию вы хотите заменить, например, ключ может быть x.MovieName.

+0

Можете ли вы показать фактический код, как это сделать? Я до сих пор не знаком с Линком. –

+0

обновили мой ответ. Это довольно сложно, не зная точной структуры объектов, возвращаемых вашей хранимой процедурой. Я предполагаю, что «ключ» и «элементы» являются свойствами этого объекта. –

+0

Я уже пробовал код, но он говорит, что нет метода расширения для ключа и элементов. Просто мне нужна функция. Но мне все еще нужно получить ключ и элементы (некоторые из которых можно найти оттуда) –