Я пытаюсь создать фильтр перетаскивания / управление группировкой, используя 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».
Это работает, но довольно медленно ... У кого-нибудь есть идеи получше?