获取与SessionId(表)相关的所有Shots(表),其中第三个名为Results的表使用Linq通过Result



我想使用sessionId来获取与该特定会话相关的所有快照。在数据库中,Shots表有一个名为Results的表的外键。Results有一个表Session的外键,它的主键是sessionId。下面的代码返回0,我尝试了多次Include等,但都不起作用。

有人知道如何解决此问题并返回与特定会话相关的镜头列表吗?

public List<Shots> GetShotListFromSession(string sessionId)
{
List<Shots> shotslist = new List<Shots>();
shotslist = _db.Shots.Where(x => x.Results.Session.Id == sessionId).ToList();

return shotslist;

}

```
[Picture of the relations in database[1]

[1]: https://i.stack.imgur.com/LfQcW.png

您可以首先选择所需的结果,然后使用.SelectMany()检索并组合所有关联的镜头。

List<Shots> shotslist = _db.Results
.Where(r => r.Session.Id == sessionId)
.SelectMany(r => r.Shots)
.ToList();

最新更新