Member 12285600 Ответов: 0

Динамическая группировка в 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

но я действительно не понимал, как они идут к ответу, поэтому я изо всех сил пытаюсь применить его к своему примеру

0 Ответов