2014-09-20 3 views
0

EF와 일대 다 관계를 설정하려고합니다.엔티티 프레임 워크와 일대 다 관계

사용자는 많은 (또는 전혀) 액세스 레코드를 가질 수 없습니다.

public class User 
{ 
    // ... 
    public virtual ICollection<UserAccess> UserAccess { get; set; } 
} 

public class UserAccess 
{ 
    // ... 
    public virtual User User { get; set; } 
} 

그리고 UserAccessMap에 내 코드 :

  • 사용자 기본 키는 사용자 ID
  • 입니다
  • UserAccess 외래 키는 그래서 내 셋업은 다음과 같다 아이디

입니다

this.HasMany(t => t.UserAccess).WithMany().Map(m => m.MapLeftKey("USERID")); 

여기서 내가 뭘 잘못하고 있니?

답변

1

많은 관계를 맺고 있었고, 구성 패턴을 참조하십시오.

HasMany.. WithMany.. 

많은 구성 하나는 HasMany.. WithRequired/WithOptional.. 또는 HasRequired/HasOptional.. WithMany.. 중 하나이어야한다.

UserAccessMap

HasRequired(t => t.User).WithMany(x => x.UserAccess).Map(x=> x.MapKey("USERID")); 

에서

또는 UserMap

HasMany(t => t.UserAccess).WithRequired(x => x.User).Map(x=> x.MapKey("USERID")); 
에서