Entity Framework 테이블 분할 : 동일한 유형 계층 구조에 있지 않음 / 유효한 일대일 외래 키 관계가 없습니다.

앤드류

코드 우선 접근 방식으로 Entity Framework 6을 사용하고 있으며 두 엔터티를 동일한 테이블에 배치하려고합니다. 내가 무엇을 잘못하고 있지?

[Table("Review")]
public class Review
{
    public int Id { get; set; }
    public PictureInfo PictureInfo { get; set; }
    public int PictureInfoId { get; set; }
}

[Table("Review")]
public class PictureInfo
{
    [Key, ForeignKey("Review")]
    public int ReviewId { get; set; }
    public Review Review { get; set; }
}

내가 얻는 오류 : 엔터티 유형 'PictureInfo'및 'Review'는 동일한 유형 계층 구조에 없거나 기본 키가 일치하는 유효한 일대일 외래 키 관계가 없기 때문에 'Review'테이블을 공유 할 수 없습니다.

내가 무엇을 잘못하고 있지?

앤드류

문제는 관계가 일대일이 아닌 일대일로 해석되었다는 것입니다.

int PictureInfoId검토 끝 의 외래 키 가 필요하지 않거나 무시되었으므로 Null이 아니어도 검토에서 필요한 관계가 종료되지는 않았습니다. 이 불필요한 키를 제거하고 PictureInfo 탐색 속성에 [Required] 속성을 추가하면 문제가 해결되었습니다.

여기에 수정 된 리뷰 클래스가 있습니다.

[Table("Review")]
public class Review
{
    public int Id { get; set; }
    [Required]
    public PictureInfo PictureInfo { get; set; }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관