c# - 使用 linq 查询创建列表时出现 IGrouping 错误
问题描述
我想在 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<string, TrainDocument>' 不包含“key”的定义,并且找不到接受类型为“IGrouping<string, TrainDocument>”的第一个参数的可访问扩展方法“key”(你是缺少 using 指令或程序集引用?)
我的 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; }
}
解决方案
key
尝试像之前Count
一样删除DashboardCountDto.Total
(假设TrainDocument
有Processed
属性):
.Select(e => new DashboardCountDto
{
Total = e.Count(),
DocumentTypeName = e.Key,
ProceesedDocumentCount = e.Count(g => g.Processed = true),
UnProceesedDocumentCount = e.Count(g => g.Processed = false)
}
推荐阅读
- excel - 通过 VBA 在一张纸上生成 ScatterLine 图,但从其他多张纸上生成数据系列
- javascript - 不同工作日的网店营业日如何计算?
- c# - 我可以在没有实体框架的情况下使用 graphql-dotnet 吗?
- variables - Ansible 填充变量以供全局使用
- c++ - 编译器无法识别模板类
- java - Java:无法使用语言环境定位资源文件
- php - 如何将一个 ROW 分组而其他不分组的 mysql 数据库加入
- python - 从 VARMAX statsmodels 中提取矩阵形式的系数
- javascript - How can I read the inner div text for an element in nightwatch.js
- c# - .NET Core Windows 服务 CultureInfo 配置