Je viens de commencer à utiliser le code EF en premier, donc je suis un débutant total dans cette rubrique.
Je voulais créer des relations entre les équipes et les matchs:
1 match = 2 équipes (domicile, invité) et résultat.
J'ai pensé qu'il était facile de créer un tel modèle, alors j'ai commencé à coder:
public class Team
{
[Key]
public int TeamId { get; set;}
public string Name { get; set; }
public virtual ICollection<Match> Matches { get; set; }
}
public class Match
{
[Key]
public int MatchId { get; set; }
[ForeignKey("HomeTeam"), Column(Order = 0)]
public int HomeTeamId { get; set; }
[ForeignKey("GuestTeam"), Column(Order = 1)]
public int GuestTeamId { get; set; }
public float HomePoints { get; set; }
public float GuestPoints { get; set; }
public DateTime Date { get; set; }
public virtual Team HomeTeam { get; set; }
public virtual Team GuestTeam { get; set; }
}
Et je reçois une exception:
La relation référentielle se traduira par une référence cyclique qui n'est pas autorisée. [Nom de la contrainte = Match_GuestTeam]
Comment puis-je créer un tel modèle, avec 2 clés étrangères vers la même table?