2013-03-11 2 views
1

내가 EF 5 코드 최초의 솔루션에 코딩 그리고 난이 다음과 같은 모델이 있습니다EntityFrameWork 모델 관계를 구성

public class User 
{ 
    public int Id {get;set;} 

    public int Role1Id {get; set;} 
    public Role Role1 {get; set;} 
} 

다른 모델 :

public class Role 
{ 
    public int Id { get; set;} 

    public string Title {get; set;} 
} 

또한 내가 다른이 모델을 구성합니다 클래스는 다음과 같습니다.

public class UserConfig : EntityTypeConfiguration<User> 
    { 
     public UserConfig() 
     { 
      ToTable("User", "dbo"); 
      // Here i want introduce Role1 as navigation property for Role1Id property 
     } 
    } 

여기에 질문입니다. 어떻게 사용자 모델이 Role1을 탐색 소품으로 도입 할 수 있습니까? Role1Id 속성에 대해?

+0

이 코드를 직접 작성 하시겠습니까? Entity Framework는이 배관 코드 자체를 만들 수 있습니다. – rhughes

+0

먼저 ef 코드를 사용하고 있으므로 먼저 모델을 코딩해야합니다. –

답변

1

당신은 주석을 사용할 수 있습니다

public class User 
{ 
    public int Id {get;set;} 

    public int Role1Id {get; set;} 

    [ForeignKey("Role1Id")] 
    public Role Role1 {get; set;} 
} 
+0

예, 작동하지만 엔티티 모델 구성을 통해 내 모델을 내 UserConfig 클래스에서 구성하려고합니다. –

0

EF가 자동으로 오래 ID가 데이터베이스 스키마에서 생성 된 필드와 일치로 구성해야합니다.

다음과 UserConfig를 그것을 구성을 시도 할 수 있습니다 : 이것은이 요구되는 구성

HasRequired(user => user.Role1) 
    .WithRequiredDependent() 
    .Map(mapping => mapping.MapKey("Role1Id"); 

. HasOption 메서드가 필요하지 않은 경우 사용할 수 있습니다.

관련 문제