1

엔티티 프레임 워크의 코드 우선 접근 방식을 구현하려고합니다. 나는 네 엔터티가 UserInfo, Client, AdminAccount입니다. 내가 원하는 관계로 :엔티티 프레임 워크 POCO 관계

  • ClientUserInfo
  • Admin은`사용자 정보를 가지고
  • Account이 내가 쓴이 일을 가정 사용자 (UserInfo)

와 연결되어있다 POCO 모델. 내가 원하는 관계로, 맞습니까? 뭔가 빠진 것이 있습니까? 당신은 무엇

public class UserInfo 
    { 
     public int UserInfoID { get; set; } 
     public Name Name { get; set; } 
     public Address Address { get; set; } 
     public Contact Contact { get; set; } 
    } 

public class Admin 
    { 
     public int AdminID { get; set; } 
     public int UserInfoID { get; set; } 
     [ForeignKey("UserInfoID")] 
     public virtual UserInfo UserInfo { get; set; } 
    } 

public class Client 
    { 
     public int ClientID { get; set; } 
     public CompanyDetails CompanyDetails { get; set; } 
     public int UserInfoID { get; set; } 
     [ForeignKey("UserInfoID")] 
     public virtual UserInfo UserInfo { get; set; } 
    } 

public class Account 
    { 
     public int AccountID { get; set; } 
     [Required, Column("Balance"), Display(Name = "Account Balance")] 
     public double Balance { get; set; } 
     public int UserInfoID { get; set; } 
     [ForeignKey("UserInfoID")] 
     public virtual UserInfo UserInfo { get; set; } 
    } 
+0

왜 당신은 그냥 시도하고 볼 수 없습니다 :

은 모델 빌더를 사용하는 방법에 대한 몇 가지 추가 정보를 원하시면 여기 나의 기사에서보세요? – Dabblernl

+0

나는했다. 나는 올바른 방향으로 가고 싶다. – nebula

답변

2

코드 처음으로 단체를 구성 할 때 개인적으로 엔티티 프레임 워크 모델 빌더를 선호하지만 요구 사항에 따라 올바른 것으로 보인다.

모델 빌더를 사용하면 POCO 엔티티에 어떤 속성도 없다는 것을 의미합니다. 즉 엔티티를 사용하기 위해 EF 참조가 필요하지 않습니다. http://blog.staticvoid.co.nz/2012/07/entity-framework-navigation-property.html

+0

블로그 게시물 +1. 이해하기 쉬운. – nebula

+0

감사합니다 :) 진짜 예민한 의견을 들으려면 더 편하게하십시오. –

+0

모델 빌더를 사용하여 탐색 속성과 함께 기본 키와 외래 키 구현을 추가 할 수 있습니다. 어쨌든, 당신의 게시물은 나와 같은 초보자를위한 매우 명확하고 읽을 수있다 :) – nebula

관련 문제