Я прошу прощения, если это дубликат, но я искал и не могу найти свой сценарий.
У меня есть «родительский» стол под названием «Турниры» и стол «Игроки», в котором находятся участники турниров. Это отношение многих ко многим, потому что у меня может быть несколько турниров, и одни и те же игроки (или больше или меньше) могут участвовать в каждом турнире.
Я создал таблицу соединения для того, чтобы позволить моим многим -мани отношения.
мои объекты выглядят так: 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 с простым лямбда-выражением из одного 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();
}
заранее спасибо.