Ho appena iniziato a utilizzare il codice EF, quindi sono un principiante assoluto in questo argomento.
Volevo creare relazioni tra squadre e partite:
1 partita = 2 squadre (casa, ospite) e risultato.
Ho pensato che fosse facile creare un modello del genere, quindi ho iniziato a scrivere codice:
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; }
}
E ottengo un'eccezione:
La relazione referenziale si tradurrà in un riferimento ciclico non consentito. [Nome vincolo = Match_GuestTeam]
Come posso creare un modello del genere, con 2 chiavi esterne nella stessa tabella?