c# - 在 HTTP GET 中返回与 LINQ 分组的实体时出现问题
问题描述
我在下面的这种方法中做错了什么?我用 linq 创建了一个组,因为我需要按 2 列对列表进行分组,对于这个分组,我将有一个文件列表。
[HttpGet]
[Route("versions-by-period")]
public IActionResult GetVersionsByPeriodId(int entityId, int periodId)
{
var versionsInvoiceBillet = db.RemittanceInvoiceBilletVersionsCompacts
.Where(x => x.LegalEntityId == entityId && x.PeriodId == periodId && x.IsCurrent && x.DownloadHash != null)
.GroupBy(x => new { x.LifePolicyNumber, x.LegalEntityGroupNumber },
i => new { i.DownloadHash, i.FileTypeEnum, i.DueDate }, (key, group) => new
{
LifePolicyNumber = key.LifePolicyNumber,
LegalEntityGroupNumber = key.LegalEntityGroupNumber,
Files = group.ToList()
});
return Ok(versionsInvoiceBillet.Select(x => new {
lifePolicyNumber = x.LifePolicyNumber,
legalEntityGroupNumber = x.LegalEntityGroupNumber,
invoiceAndBillet = x.Files.Select(f => new {
downloadHash = f.DownloadHash,
fileTypeEnum = f.FileTypeEnum,
dueDatet = f.DueDate
})
}));
}
如果我尝试用 Postman 调用此方法,则正文为空。问题出在返回的 invoiceAndBillet 信息中,如果我更改为下面,则正文已填充。
return Ok(versionsInvoiceBillet.Select(x => new {
lifePolicyNumber = x.LifePolicyNumber,
legalEntityGroupNumber = x.LegalEntityGroupNumber,
invoiceAndBillet = x.Files.Select
}));
如果我尝试调试我尝试返回的选择,我会在下面收到此消息:
解决方案
推荐阅读
- reactjs - 这个 useEffect() 是否不必要地昂贵?
- android - 为什么 SavedStateHandle 不保存或返回我的实时数据?
- elasticsearch - AWS Elasticsearch:使用 Python 请求进行批量插入
- javascript - 当鼠标位于某些区域时,无法从页面底部的文本中删除下划线
- django - Django 仅在 1 个 html 文件中扩展 base.html 模板
- swift - 我想将数据从服务写入文本字段,但出现错误!UITextField.text 只能在主线程中使用
- debugging - 使用 VSCode 对 Grails 应用程序进行正确的调试配置
- google-apps-script - 让 G 表单脚本创建一个新选项卡以在 G 表格中报告
- ios - 使用 Swift 流式传输音频
- swift - 在 TabView 中更改 sf 符号的重量/大小