2017-03-04 4 views
0

단순 멤버십을 사용하여 다른 사용자 정보 집합을 저장하려면 어떻게합니까? 예를 들면. 두 가지 역할 (의사와 환자)이 있습니다. 두 역할에 대해 저장되는 확장 된 사용자 정보는 다소 다릅니다. Simple Membership은 기본적으로 두 개의 테이블로 분할하여 두 역할에 대한 사용자 정보를 각각 수용하기 위해 UserProfile 테이블을 만듭니다.ASP.NET MVC 단순 멤버십을 사용하여 다른 사용자 정보 집합을 저장하는 방법

달성 할 수있는 방법과 방법을 제안하십시오.

감사합니다.

답변

0

'역할'테이블에 정의 된 역할이 있습니다. 그런 다음 특정 사용자의 경우 UserId와 RoleId가 모두 '_UserInRoles'라는 다른 테이블에서 서로 연결됩니다. 이제, 어쩌면 'UserAdditionalInfo'지금

Id(PK) 
UserId(FK) 
RoleId(FK) 
Column1 
Column2 

아래 당신이 그 역할 ID 및 사용자 아이디 다른 테이블과에 따라 사용자 추가 데이터를 저장할 수 메이크업 테이블 구조로 명명 된 또 다른 테이블을 작성하면 사용자 프로필을 표시해야 할 때 프런트 엔드에 다음 테이블에 JOIN을 사용하여 정보를 반환 할 수 있습니다.

+0

감사합니다. 자동으로 생성 된 Membership 테이블을 제외하고 역할에 기반하여 확장 된 정보를 저장하는 두 개의 테이블이 있습니다. 하나는 의사를 저장하는 데 사용되는 UserProfile이지만 두 번째는 환자 정보를 저장하는 PatientsProfile입니다. 이제 환자 추가시 WebSecurity.CreateUserandAccount 메서드를 호출하면 PatientProfile에 레코드를 추가하려고합니다. 그러나 레코드가 UserProfile에 추가됩니다. WebSecurity.CreateAccount를 사용하려고했지만 Provider에서 알 수없는 오류가 발생했습니다. 아이디어? – Jason

+0

이렇게하면 롤 기능을 사용하지 않을 것입니다. 그래서 제가 제안 할 것은 여러분이 의사를위한 테이블과 환자를위한 테이블이라는 두 가지 테이블을 가지고 있다는 것입니다. 이제 데이터베이스 테이블에 환자를 추가하려면 "WebSecurity.CreateUserandAccount()"를 사용하는 대신 LINQ 쿼리를 사용할 수 있으며이 쿼리는 테이블에 환자 행을 만듭니다. 위의 답변이 도움이된다면 그 대답을 수락하십시오.이 의견이 도움이된다면 제 답변을 편집하여 다른 사람을 도울 수 있는지 알려주십시오. –

+0

답장을 보내 주셔서 감사합니다. 이 경우 SimpleMemberships를 사용해서는 안되며 서로 다른 두 개의 테이블에서 서로 다른 역할에 대한 계정 관리를 처리해야한다고 말씀 하시겠습니까? SimpleMemberships를 사용하고 WebSecurity.CreateUserandAccount를 사용하여 계정을 만들려고하면 멤버 정보 테이블과 의사 정보 만 저장하기위한 구조가있는 UserProfile 테이블에 행이 만들어집니다. 그래서 나는 환자를 추가하려고 할 때이 방법을 사용할 수 없다. – Jason