물리적 프레임 워크 코드가 선호됩니다. 같은 테이블에서 두 개의 외부 키를 처리하십시오
그러나이 코드는 이상을 유발합니다
<strong>
이 참조 관계는 원치 않는 사이클 참조로 이어질 것입니다. [제약 이름 = match_guestteam]
</strong>
<sol>이 문제를 해결하려면 EF가 외부 키를 매핑하는 다른 방법을 제공해야합니다. 효과적인 솔루션은 </sol>
클래스에서는
속성을 제거하고 외부 키 속성을 정의 할 수 있습니다.
<code class="language-csharp">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; } }</code>
위 내용은 엔티티 프레임 워크 코드에서 동일한 테이블에서 두 개의 외국 키를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!