ho un elenco di record con la seguente struttura: (! Esempio semplificato)Raggruppamento a più livelli in LINQ?
class Rate
{
string Code;
double InterestFrom;
double InterestTo;
double IncomeFrom;
double IncomeTo;
double Value;
}
E sì, ho una lista <Vota> definito. Ho bisogno di convertire questa lista al seguente semplificata struttura:
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;
}
E vorrei farlo con una singola query LINQ. Posso elaborare altre soluzioni, ma la sfida è farlo all'interno di una dichiarazione LINQ. Fondamentalmente, il gruppo di livello superiore è raggruppato per codice. Il livello successivo dai valori InterestFrom e InterestTo e il livello più basso è un elenco di IncomeFrom, IncomeTo e Value.
Quindi, quale sarebbe la dichiarazione LINQ per questo?
Potete fornire un elenco di ingresso Tariffe e l'output desiderato? –
L'output desiderato è un singolo oggetto di tipo RateList. InterestFrom/InterestTo e IncomeFrom/IncomeTo sono valori ripetuti per ogni codice. Un esempio di record potrebbe essere: ("AB", 0, 6, 10000, 20000, 40,3) o ("AB", 6, 7,5, 10000, 20000, 40,3). –
Hai detto "il livello più basso è raggruppato per IncomeFrom e IncomeTo." - Se questo è il caso, si sommerà il valore? O non intendevi davvero raggruppare su quei valori? (fermandosi agli interessi) –