【发布时间】:2023-04-02 19:55:01
【问题描述】:
我似乎对 EF Core / Linq / Navigation Properties 的工作方式有很大的误解。
我试图从 previous question 添加 m:n 关系扩展我的示例。
数据库表:
- 人员 {Id (in), Firstname (nvarchar), Lastname (nvarchar) }
- 组 {Id (int), Name (string) }
- GroupAssignment {Id (int), PersonId (int), GroupId (int) }
数据库数据: ID 为 1 的人被分配到组 1 和组 3。
我的查询按预期返回链接的 GroupAssignments:
var result = from person in _dbContext.Person
select new
{
id = person.Id,
firstname = person.Firstname,
lastname = person.Lastname,
groupAssignments = person.GroupAssignment
};
return Ok(result);
但我想获得一个包含 N 表(组)字段的列表。 我正在寻找的结果是
[
{
"id": 1,
"firstname": "First1",
"lastname": "Last1",
"groupAssignments":
[
{
"id": 1,
"name": "test group 1"
},
{
"id": 3,
"name": "test group 3"
}
]
}
]
顺便说一句:如果您将一些关于 EF(核心)和 linq 的优秀阅读链接发布到 cmets 中,我将非常高兴。看来我有很多初学者的问题。
【问题讨论】:
标签: c# linq asp.net-web-api entity-framework-core