2012-10-21 2 views
0

Entity Framework에 대한 질문이 있습니다. 코드 첫 번째 시나리오에서는 주소를 참조하는 person 클래스가 있습니다. 내 도메인에서 나는 이것을 Address 클래스에 대한 참조로 사용할 것이다. 필자가 본 Entity Framework의 모든 예제에는 AddressId 필드도 필요합니다. 이것은 내 생각에 도메인 구동 모델에서 필요하지 않은 것으로 생각됩니다.EF에서 엔티티 ID와 참조 번호가 필요합니다.

왜 EF가 이것을 요구합니까? 그것없이 (나는 NHibernate가 이것을 필요로한다고 생각하지 않는다) 할 수 있을까?

감사

public class Person() 
{ 
    public int Id {get;set;} 
    public string Name {get;set;} 
    public Address Address {get;set;} 
    public int AddressId {get;set;} //Entity Framework seems to require this 
} 

답변

1

외부 키는 필요하지 않습니다. 사실 EF4에서는 외래 키에 대한 지원이 도입되었습니다. 일반적으로 FK는 편의를 위해 존재합니다. 많은 경우 FK는 ID를 알고 있으면 관련 엔티티를로드하지 않고 관계를 변경할 수 있기 때문에 성능을 향상시키는 데 도움이됩니다 (데이터베이스를 한 번 트립).

당신은 독립 협회와 외래 키 협회에 위로 읽어야
관련 문제