엔티티 프레임 워크 코드 먼저 : 단일 테이블에서 여러 개의 외국 키를 처리하는
이 기사는 엔터티 프레임 워크 코드에서 같은 테이블 (예 : )에서 두 개의 외래 키를 다른 테이블 ()에 매핑 해야하는 과제를 해결합니다. 발생하는 일반적인 오류는 주기적 참조 예외입니다
문제 :
테이블을 참조하는 및 a Team
로 a Match
엔티티를 모델링 할 때, 주기적 관계 오류가 종종 발생합니다. 기본적으로 엔티티 프레임 워크는 기본적으로 일대일 관계를 가정하여 원형 의존성을 초래하기 때문입니다.
솔루션 :
핵심은 관계를 에서 로 두 개의 별도의 일대일 관계로 명시 적으로 정의하는 것입니다. 이것은
클래스 내에서 두 개의 내비게이션 속성을 생성하여 달성됩니다.
개정 된 모델 : Match
HomeTeam
GuestTeam
는 Team
가 이제 및
컬렉션을 가지고 있으며, 경기에서 각 팀의 역할을 명확하게 구별합니다.
모델 구성 (dbContext) :
관계는 클래스의 메소드에서 명시 적으로 정의되어야합니다 :
이 구성은 외국 키를 명시 적으로 매핑하고 중요한 것은
를 설정하여 경기가 삭제 될 때 우발적으로 팀을 삭제하지 못하게합니다.
이 접근법은 주기적 참조 오류를 피하고 강력하고 유지 관리 가능한 데이터 모델을 제공하는 관계를 명확하게 정의합니다.
위 내용은 엔티티 프레임 워크 코드에서 동일한 테이블에서 두 개의 외국 키를 올바르게 매핑하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!