2016-09-09 1 views
1

기존 엔티티가 있습니다 사용자입니다. 이제 새로운 엔티티를 만들려고합니다. 과 User가 0-1의 관계입니다.엔티티 프레임 워크, 존재 엔티티와 0-1 관계 생성

class Contact 
{ 
    public int Id {get; set;} 
    public string Name {get; set;} 
    public int? UserId {get; set;} 
    public virtual User TheUser{get; set;} 
} 

모든 제안은 다음과 같이 대해 포함 :

modelBuilder.Entity<User>() 
    .HasOptional(t => t.TheUser) 
    .WithOptionalDependent(u => u.TheConatct); 

을하지만 이것은 우리가 존재 사용자 엔티티 TheConatct 속성을 추가하는 것을 의미합니다. 사실 나는 존재하는 개체에 어떤 수정도하고 싶지 않습니다. 내가 외래 키 형태를 연락 사용자 - 엔티티를 정의해야하고 TheUser 속성을 통해 연락에서 사용자 엔티티를 액세스 할 수있는 모든.

업데이트 : 외래 키가 재산 주석 속성을 사용하는 경우가 : 다음

class Contact 
{ 
    public int Id {get; set;} 
    public string Name {get; set;} 
    public int? UserId {get; set;} 
    [ForeignKey("UserId")] 
    public virtual User TheUser{get; set;} 
} 

ObjectContext.CreateDatabase()의 결과도 관계가있는 기관에 따라 이미 테이블에 존재에 대한 문을 (생성이 포함됩니다 사용자와 함께).

물론 "Entity Framework 6 Code First"에 대해 이야기하고 있습니다. 또한 1-1 문제와 동일한 문제가 있습니다. 그렇게하지이 문제를

답변

-1

을 극복 할 수있는 방법이 있는지

생각, 나는 새로운 법인 연락 궁금

에 대한 추가 속성을 추가하기 위해 기존의 엔티티를 사용자을 변경할 수 없습니다 사용중인 Entity Framework의 버전을 확인하고 코드 우선을 사용한다고 가정하지만 0-1 대신 1 대 다수 관계를 사용해야 할 수도 있습니다.

당신이 그것을 원하는 방식의 0-1에 대한 지원이 믿지 않는,하지만 당신은

+0

유용한 답변을 지금 선택 하시겠습니까? 이것은 특정 버전의 EF에서 사실입니다 ... – JDandChips

+0

그는 0-1 관계가있는 EF 버전을 사용하고 있습니다. –

+0

아니, 언급되지 않았습니다. – JDandChips

0

(심지어 "다"것입니다 오직 1로하지만) 많은에 일을함으로써 시뮬레이션 할 수 있습니다 다른 과부하를 사용하십시오 :

modelBuilder.Entity<User>() 
    .HasOptional(t => t.TheUser) 
    .WithOptionalDependent(); 
관련 문제