ฉันเพิ่งเริ่มใช้รหัส EF ก่อนดังนั้นฉันจึงเป็นผู้เริ่มต้นทั้งหมดในหัวข้อนี้
ฉันต้องการสร้างความสัมพันธ์ระหว่างทีมและการแข่งขัน:
1 การแข่งขัน = 2 ทีม (บ้านผู้เยี่ยมชม) และผลการแข่งขัน
ฉันคิดว่ามันง่ายที่จะสร้างแบบจำลองดังนั้นฉันจึงเริ่มเขียนโค้ด:
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; }
}
และฉันก็ได้รับการยกเว้น:
ความสัมพันธ์ผู้อ้างอิงจะส่งผลให้มีการอ้างอิงตามวัฏจักรที่ไม่ได้รับอนุญาต [ข้อ จำกัด ชื่อ = Match_GuestTeam]
ฉันจะสร้างรูปแบบดังกล่าวโดยมี 2 foreign keys ไปยังตารางเดียวกันได้อย่างไร