Mam listę rekordów z następującą strukturę: (! Przykład uproszczony)Grupowanie wielopoziomowe w LINQ?
class Rate
{
string Code;
double InterestFrom;
double InterestTo;
double IncomeFrom;
double IncomeTo;
double Value;
}
I tak, mam listę < Oceń > zdefiniowane. Trzeba przekonwertować tę listę do następnego uproszczonej strukturze:
class RateList
{
List<Code> code;
}
class Code
{
string code;
List<Interest> interest;
}
class Interest
{
double InterestFrom;
double InterestTo;
List<Income> income;
}
class Income
{
double IncomeFrom;
double IncomeTo;
double Value;
}
I chciałbym to zrobić za pomocą pojedynczego zapytania LINQ. Mogę wypracować inne rozwiązania, ale wyzwaniem jest zrobienie tego w jednym oświadczeniu LINQ. Zasadniczo grupa najwyższego poziomu jest pogrupowana według kodu. Następny poziom według wartości InterestFrom i InterestTo oraz najniższy poziom to lista IncomeFrom, IncomeTo i Value.
Jaki byłby w związku z tym komunikat LINQ?
możesz dostarczyć listę stawek wejściowych i pożądany wynik? –
Pożądanym wynikiem jest pojedynczy obiekt typu RateList. InterestFrom/InterestTo i IncomeFrom/IncomeTo to powtarzające się wartości dla każdego kodu. Przykładowy zapis to: ("AB", 0, 6, 10000, 20000, 40.3) lub ("AB", 6, 7,5, 10000, 20000, 40,3). –
Wspominasz, że "najniższy poziom jest pogrupowany według IncomeFrom i IncomeTo". - Jeśli tak, czy suma wartości zostanie zsumowana? Czy naprawdę nie chciałeś pogrupować się na tych wartościach? (zatrzymując się na odsetkach) –