Динамическая группировка в LINQ
Привет
У меня есть запрос, который мне нужно выполнить для каждого элемента в последнем, и я хотел бы иметь возможность передать переменную в мое предложение group by.
public string[][] GetAttributes(int attributelenght, string[] attributes) { string[][] result = new string[attributelenght][]; string parm = ""; foreach (var a in attributes) { for (int i = 0; i <= attributelenght;) { var varible = "c." + a; //c.Colour var feild = (from c in _auth.ClothingItems group c by varible into g // change each loop to match attibutes select g).ToList(); foreach (var f in feild) { parm = parm + "," + f.Key; // black , blue, yellow, pink, red } } } return result; }
однако это не работает, и он распознает переменную как имя поля. Кто-нибудь может мне помочь, пожалуйста
Что я уже пробовал:
public string[][] GetAttributes(int attributelenght, string[] attributes) { string[][] result = new string[attributelenght][]; string parm = ""; foreach (var a in attributes) { for (int i = 0; i <= attributelenght;) { var varible = "c." + a; //c.Colour var feild = (from c in _auth.ClothingItems let var = varible group c by var into g // change each loop to match attibutes select g).ToList(); foreach (var f in feild) { parm = parm + "," + f.Key; // black , blue, yellow, pink, red } } } return result; }
F-ES Sitecore
Я погуглил "динамическая группа по linq" и нашел несколько решений. Вы сами это делали и пробовали что-нибудь из них?
Member 12285600
Я попробовал пару таких как -
https://stackoverflow.com/questions/17678197/linq-grouping-dynamically
https://stackoverflow.com/questions/33286297/linq-groupby-with-a-dynamic-group-of-columns
но я действительно не понимал, как они идут к ответу, поэтому я изо всех сил пытаюсь применить его к своему примеру