c# - 具有父字段值的 C# Linq 汇总子数组
问题描述
举个例子:
public class Team
{
public int Id { get; set; }
public string TeamName { get; set; }
public Members[] Members { get; set; }
}
public class Members
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
如果我有一个包含以下内容的 C# 团队列表:
[
{
"Id" : 1,
"TeamName" : "A",
"Members": [
{
"Id": 1,
"FirstName": "Arthur",
"LastName": "Nudge"
},
{
"Id": 2,
"FirstName": "Ken",
"LastName": "Shabby"
}
]
},
{
"Id" : 2,
"TeamName" : "B",
"Members": [
{
"Id": 1,
"FirstName": "Spiny",
"LastName": "Norman"
},
{
"Id": 2,
"FirstName": "Raymond",
"LastName": "Luxury-Yacht"
}
]
}
]
我如何编写一个 Linq 查询来给出成员的结果以及团队 ID,例如
{
"TeamId": 1,
"Id": 1,
"FirstName": "Arthur",
"LastName": "Nudge"
},
{
"TeamId": 1,
"Id": 2,
"FirstName": "Ken",
"LastName": "Shabby"
},
{
"TeamId": 2,
"Id": 1,
"FirstName": "Spiny",
"LastName": "Norman"
}
我可以通过使用从团队列表中返回成员列表,
Teams.SelectMany(t => t.Members).ToList();
但我如何还包括 TeamId
解决方案
SelectMany
以这种方式使用:
var q = Teams
.SelectMany(t => t.Members
.Select(tm => new{ TeamId = t.Id, tm.Id, tm.FirstName, tm.LastName }));
推荐阅读
- ruby-on-rails - 如何在 ruby on rails 的表单中添加类 css?
- python-3.x - 配置不当:循环导入以及项目的 url 中确实有模式
- python - 如何在多部分表单 API 请求调用中将 json 字典作为字段发送?
- ios - Apple Passkit 的 webServiceURL 的 URL 应该是什么
- python - 如何使用 fastAPI 实现 OIDC
- python - 我可以使用我的麦克风检测拍手声音并通过 IFTTT 拍手控制我的灯光吗?通过使用 Python 语言
- javascript - 出现增量错误“后缀操作中的左侧表达式无效”
- node.js - 如何在sequelize中输入外键?
- android - 安卓。ConstraintLayout:TextView 不受约束,边距不起作用
- html - 在组件 HeaderComponent 的模板中运行角度构建,但出现错误