【发布时间】:2020-03-20 14:49:56
【问题描述】:
如果这是重复的,我深表歉意,但我搜索并找不到我的场景。
我有一个名为 Tournaments 的“父”表和一个容纳锦标赛参与者的 Players 表。这是多对多的关系,因为我可以参加多个锦标赛,并且相同的玩家(或多或少)可以参加每场锦标赛。
为了允许我的多对多关系,我创建了一个连接表。
我的对象如下所示: TournamentEntity.cs
public class TournamentEntity : IInt32Identity
{
public int Id { get; set; }
...
public List<TournamentPlayers> Participants { get; set; }
}
TournamentPlayers.cs(这是我的加入实体)
public class TournamentPlayers
{
public int TournamentId { get; set; }
public TournamentEntity Tournament { get; set; }
public int PlayerId { get; set; }
public PlayerEntity Player { get; set; }
}
PlayerEntity.cs
public class PlayerEntity : IInt32Identity
{
public int Id { get; set; }
...
public List<TournamentPlayers> Participants { get; set; }
}
我想返回一个列表和/或一个 TournamentEntity 实例,其中包含一个简单的 lambda 表达式,来自一个传递给我的方法的 PlayerEntity。
示例方法:
public async Task<TournamentEntity> GetTournamentByTournamentParticipant(PlayerEntity tournamentParticipant)
{
return await EntityDbSet
.Where(x => x.Participants.Contains) // this is where I'm a bit lost on how to link to "tournamentParticipant"
...
.Include(x => x.Participants)
.ThenInclude(b => b.Player)
.FirstOrDefaultAsync();
}
提前致谢。
【问题讨论】:
标签: c# entity-framework entity-framework-core lambda