Vấn đề là sau khi chạyBiến một IEnumerable của IEnumerables thành một cuốn từ điển
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();
tổng số Temp là một IEnumerable có chứa một IEnumerable của một lớp đơn giản của
public class TempTotals {
public string Type { get; set; }
public decimal? Amount { get; set; }
}
Ý tưởng là để sau đó đi dữ liệu này và nhóm nó vào một từ điển để tôi có thể nhận được tổng số tất cả các số tiền với khóa là loại.
Kết quả cuối cùng sẽ giống như thế:
Dictionary<string, decimal> test = new Dictionary<string, decimal>() {
{"Claim",2 },
{"Query", 500 },
{"Normal", 700 }
};
tôi biết rằng tôi chỉ có thể foreach nó tuy nhiên tôi đang tìm kiếm một giải pháp sử dụng LINQ.
Nó than phiền vì "Một mục có cùng khóa đã được thêm." –
@BenJones - Kiểm tra mã vì tôi đã thay đổi mã này trong năm phút đầu tiên. Mã tôi đã có bây giờ không thể có lỗi đó. – Enigmativity
Vâng, hoạt động Cảm ơn bạn :) –