problemu jest po uruchomieniuWłączanie IEnumerable z IEnumerables do słownika
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();
Temp sumy jest IEnumerable, który zawiera IEnumerable prostego klasy
public class TempTotals {
public string Type { get; set; }
public decimal? Amount { get; set; }
}
Chodzi o to, aby następnie podjąć te dane i pogrupuj je w słownik, aby uzyskać w sumie wszystkie kwoty z kluczem będącym typem.
Efekt końcowy powinien wyglądać następująco:
Dictionary<string, decimal> test = new Dictionary<string, decimal>() {
{"Claim",2 },
{"Query", 500 },
{"Normal", 700 }
};
wiem, że mogę po prostu foreach go jednak szukam rozwiązania przy użyciu LINQ.
Narzeka, ponieważ "Element z tym samym kluczem został już dodany." –
@BenJones - Sprawdź kod, ponieważ zmieniłem go w ciągu pierwszych pięciu minut. Kod, który mam teraz, nie może mieć tego błędu. – Enigmativity
Tak, to działa Dziękuję :) –