0

어떤 엔티티 프레임 워크의 가장 좋은 방법입니다 :CLR은 유형에 외부 키를 정의 여부를 정의

1.Define은 CLR 유형에 외래 키가

public class Book 
{ 
    public int AuthorId{get;set;} 
    public Author Author{get;set;} 
} 

외국를 정의 2.Not가 키

public class Book 
{ 
    public Author Author{get;set;} 
} 

답변

1

내 개인적인 취향은 FK 정의 사용과의 관계를 정의 할 때 키 값 (AuthorId)을 설정한다 (단 탐색 속성을 정의한다).

줄리 만 (Julie Lerman)의 2 가지 훌륭한 기사 herehere이이 접근 방법의 장점을 설명합니다. 여기

은 요약이다 :

저장 슬픔과 외래 키가

보다는 탐색 속성을 설정하고 [관련 엔티티]의 상태에 대해 걱정할 필요 그건 사용, 단지 설정 [관련 항목] 인스턴스에서 해당 값에 액세스 할 수 있기 때문에 [Id] 속성을 사용해야합니다. 이것은 내가 개발자에게 자주 제안하는 것으로 생각합니다. 트위터에서도 "나는 EF가 이미 존재하는 데이터를 삽입하는 이유는 무엇인가?"라는 질문을 봅니다. 그리고 나는 종종 정확히 다음과 같이 추측합니다 : "FK 대신 새로운 엔티티에 탐색 속성을 설정할 수 있습니까? J "

관련 문제