Il problema è dopo l'esecuzioneGirando un IEnumerable di IEnumerables in un dizionario
reportData = dbContext.FinancialsBySupplierAuditPeriodStatusType
.Where(v => v.ReviewPeriodID == reportFilter.ReviewPeriodID && v.StatusCategoryID == reportFilter.StatusCategoryID)
.GroupBy(s => new { s.SupplierID })
.Select(g => new DrilldownReportItem {
SupplierID = g.Key.SupplierID,
SupplierName = g.Max(v => v.SupplierName),
AccountNo = g.Max(v => v.AccountNo),
TempTotals = g.Select(v => new TempTotals { ClaimType = v.TypeDesc ?? "Old Claims", Amount = v.Amount })
}).OrderBy(r => r.SupplierName).ToList();
totali Temp è un IEnumerable che contiene un IEnumerable di una semplice classe di
public class TempTotals {
public string Type { get; set; }
public decimal? Amount { get; set; }
}
L'idea è di quindi prendere questi dati e raggrupparli in un dizionario in modo da poter ottenere un totale di tutti gli importi con la chiave come tipo.
Il risultato finale dovrebbe essere simile:
Dictionary<string, decimal> test = new Dictionary<string, decimal>() {
{"Claim",2 },
{"Query", 500 },
{"Normal", 700 }
};
So che ho potuto solo foreach è comunque sto cercando una soluzione utilizzando LINQ.
Si lamenta perché "Un elemento con la stessa chiave è già stato aggiunto." –
@BenJones - Controlla il codice perché l'ho cambiato nei primi cinque minuti. Il codice che ho ora non può avere quell'errore. – Enigmativity
Sì, questo funziona Grazie :) –