【发布时间】:2020-08-16 21:40:41
【问题描述】:
我想在 C# 中创建一个列表,如下所示:
[
{
"Total": "11",
"DocumentTypeName": "MMT",
"ProceesedDocumentCount": "5",
"UnProceesedDocumentCount": "6"
},
{
"Total": "11",
"DocumentTypeName": "CIMIC",
"ProceesedDocumentCount": "3",
"UnProceesedDocumentCount": "8"
},
{
"Total": "13,
"DocumentTypeName": "CROWN",
"ProceesedDocumentCount": "7",
"UnProceesedDocumentCount": "6"
}
]
到目前为止我已经尝试过这段代码:
public async Task<ListResultDto<DashboardCountDto>> CountAllTrainDocuments()
{
//var retList = new List<ListOfDocumentTypes>();
var allTrainFiles = await _trainDocumentRepository.GetAllListAsync();
var CountTrainFiles = allTrainFiles.GroupBy(t=> t.DocumentTypeName).
Select(e => new DashboardCountDto{
Total = e.Count(),
DocumentTypeName = e.Key,
ProceesedDocumentCount = e.key.Count(g => g.Processed = true),
UnProceesedDocumentCount = e.key.Count(g => g.Processed = false),
}).ToList();
// return retList;
CountTrainFiles.ForEach(
row => Console.WriteLine($"DocType: {row.DocumentTypeName}, ProcessedDocument: {row.ProceesedDocumentCount}, UnProcessedDocument: {row.UnProceesedDocumentCount}"));
return new ListResultDto<DashboardCountDto>(CountTrainFiles);
}
我收到一个错误:
IGrouping
我的 DTO 看起来像:
public class DashboardCountDto : EntityDto<long>
{
public int Total { get; set; }
public string DocumentTypeName { get; set; }
public int ProceesedDocumentCount { get; set; }
public int UnProceesedDocumentCount { get; set; }
}
【问题讨论】: