Witam
Mam w bazie tabelę Sales, w której zapisuję dane: Ilość, użytkownika oraz podkategorię, podkategoria znów zawiera kategorię główną.
public class Category
{
public int ID { get; set; }
public string name { get; set; }
public virtual List<SubCategory> MyProperty { get; set; }
}
public class SubCategory
{
public int ID { get; set; }
public string name { get; set; }
public Category Category { get; set; }
}
public class Person
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Sales
{
public int ID { get; set; }
public SubCategory SubCategory { get; set; }
public int SubCategoryID { get; set; }
public Person Person { get; set; }
public int PersonID { get; set; }
public int Qty { get; set; }
}
I potrzebuję stworzyć zapytanie linq zwracające wielopoziomowo podrupowane dane, jako pierwszy poziom pogrupowane po użytkowniku oraz zsumowana ilość, drugi poziom będący podrupą użytkownika to dane podrupowane po kategorii z sumowaną ilością dla tej podkategorii, a trzeci poziom będący podgrupą poprzedniej podgrupy to dane pogrupowane po subkategori z zumowaną wartością dla każdej podkategorii - takie drzewko, im wyżej tym bardziej zawężone dane i sumy dla pola Qty.
Przy wykorzystaniu select w linq dostaję podzbiór poziomu niżej, i o ile w pierszym select mam dostęp do pola Qty które sumuję, to już w kolejnych mam dostęp do Person / SubCategory a dalej do Category.
Ktoś pomoże jak osiągnąć to stosując linq ?