1

사용자 등록을위한 응용 프로그램을 작성하는 작업이 있습니다. 나는 사용자의 3 가지 유형 (프로파일)Entity Framework CodeFirst 여러 사용자 유형

1. "Normal" user 
2. "Company" user 
3. "Company2" user - similar like 2. but with few additional fields.. 

모든 사용자는 그래서, 내가하려고 해요 .... 이메일과 비밀번호 (로그인 데이터), 역할, 등록 일자 등과 같은 일부 특정 정보를 공유를

USER - all kind of users with all their Login data (email and password) and UserType 
USERTYPE - list of all user types (1,2,3) 
USER_DETAILS - details of normal user 
COMPANY_DETAILS - details of company 
COMPANY2_DETAILS -details of company2 

내 문제는 사용자 테이블을 참조하는 방법은 다음과 같습니다에 행운 만 EF 코드 첫 번째 접근 방식을 사용하여 응용 프로그램의 이러한 종류의 "디자인"클래스,하지만 ..

내가 테이블 (클래스)가 필요합니까 USER_DETAILS, COMPANY_DETAILS, COMPANY2_DETAILS. 내 문제를 이해할 수 있도록 노력하겠습니다.

내 클래스 (사용자 관리 및 프로필)는 http://codefirstmembership.codeplex.com/ 예제와 같이 구현됩니다.

미리 감사드립니다.

답변

1

Entity Framework에서 일반적인 상속 모델을 사용할 수 있습니다. 다음 및 기타 사용자 정보 -

난 그냥 (이미이 작업을 수행해야 회원 해시를 사용하지만 DB에 을 암호를 저장하지 마십시오) 로그인 데이터를 포함하는 기본 클래스 User를 사용합니다 User에서 상속 받고 추가 속성이 포함 된 다른 클래스 CompanyUser을 추가 할 수 있습니다. 마지막으로 CompanyUser2 (더 나은 이름이 필요함)은 CompanyUser에서 상속받을 수 있습니다.

1) Table-per-Hierarchy

2) Table-per-Type

3) Table per Concrete Type

:

장소에서이 갖는 EF 테이블에 클래스를 매핑하는 방법에 사용할 수있는 다양한 모델이있다

+0

정확히 내가 무엇을 찾고 있었는지 :) 고마워요! – rjovic

관련 문제