Nie mogę rozwiązać tego problemu za pomocą kwerendy LINQ.Zagnieżdżona grupa według LINQ
Mamy więc strukturę tabeli w następujący sposób: Id || bug_category || bug_name || bug_details || bug_priority
Najpierw chcę pogrupować według bug_category. Dla każdej bug_category, chcę z kolei grupować według bug__priority.
Więc zasadniczo chcę coś takiego:
bug_category = Dźwięk :: Nie błędów -> Critical = 3, medium = 2 i niski = 7 błędów.
bug_category = VIDEO :: Liczba błędów -> Krytyczny = 5, Średni = 1 i Niski = 9 błędów.
Poniższa kwerenda zwraca wszystkie unikalne kombinacje kategorii i customer_priority:
(gdzie RawDataList to po prostu lista danych, które ma wspomnianą wyżej strukturę)
var ProceesedData = from d in RawDataList
group d by new { d.bug_category, d.bug_priority } into g
select new
{
g.Key.bug_category,
g.Key.bug_priority
};
Poniższa kwerenda zwraca kategoria, po której następuje lista rekordów w tej kategorii:
var ProceesedData = from d in RawDataList
group d by d.bug_category into g
select new { g.Key, records = g
};
Ale ja jestem można kontynuować, ponieważ ProcessedData (zmienna zwracana) jest nieznanym typem. Jakieś przemyślenia na ten temat?
Drugie zapytanie stworzy dla każdej grupy kwerendy wtórne, więc myślę, że lepszym rozwiązaniem jest pierwsza, a następnie ToLookup według kategorii –
@AdrianIftode: Wypróbowałeś to? Nie, ale oczekiwałbym * odpowiedniego kodu SQL, który zostałby wygenerowany, aby zrobić to wszystko za jednym razem. –
Tak, z LinqPad, jedno zapytanie dla grup kategorii i innych zapytań X dla grup priorytetów –