Динамический GroupBy - linq. Динамический - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь создать фильтр перетаскивания / управление группировкой, используя MVC.У меня все перетаскивание работает нормально.Однако я не могу заставить GroupBy работать так, как я хочу.

В настоящее время у меня есть что-то вроде этого.

IQueryable<Equipment> lst = doSearch("EquipmentType_ID", "Manufacturer_ID");
var news = lst.GroupBy("idLocation.Name", "ID");

Когда это возвращается, оно возвращается безлюбая ссылка на <Equipment>, однако, когда я перехожу через код dynamic.cs, он, кажется, имеет ссылки на <Equipment> на всем протяжении.

Если я делаю что-то подобное, это прекрасно работает

var news = lst.GroupBy(z => z.idLocation.Name);

Но мне нужно, чтобы это генерировалось динамически в зависимости от того, что выбрал пользователь, поэтому я должен использовать linq.Dynamic GroupBy.

Затем я возвращаю список в виде частичного представления, перебираю модель и показываю результаты.

Итак, как я могу вернуть строго типизированный список из linq.dynamic?


Это то, чем я сейчас занимаюсь.Это работает, но я надеялся, что смогу не делать циклы foreach или что-то в этом роде.

List<ZITS_DAL.Equipment> lst = doSearch(equipmentType_ID, manufacturer_ID)

var news = lst.AsQueryable().GroupBy(headers, "it");
ZITS_BO.ViewModels.vmDragControl vm = new ViewModels.vmDragControl();
vm.lst =  new List<IGrouping<string, ZITS_DAL.Equipment>>();
            foreach (IGrouping<string,ZITS_DAL.Equipment> t in news)
            {
               vm.lst.Add(t);
            }

Модель представления vmDragControl выглядит следующим образом.

 List<IGrouping<string, ZITS_DAL.Equipment>> lst

Тогда в моей модели у меня есть 2 цикла foreach.Один в списке IGroupings и вложенный в «Оборудование в Igrouping».

Это работает, но довольно медленно ... У кого-нибудь есть идеи получше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...