0
사용자 프로필 데이터 (성, 성 등)에 대해 별도의 테이블이 있으므로 ID를 설정했습니다.
문제는 내가 Email
필드를 통해 해당 테이블에 가입 한 것입니다.
대신 테이블을 UserID
으로 연결할 수 있도록 이것을 변경하고 싶습니다.
내가 생성 한 사용자에 대해 userID
을 새로 가져와 UserProfileInfo
개체의 외래 키로 사용하는 것이 좋습니다. 나는 새 사용자를 만들 때Identity 프레임 워크 - 사용자 ID별로 다른 프로필 테이블에 가입하는 방법
public class ApplicationUser : IdentityUser<int, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
public string Email { get; set; }
public string ConfirmationToken { get; set; }
public bool IsConfirmed { get; set; }
public virtual UserProfileInfo UserProfileInfo { get; set; }
}
public class UserProfileInfo
{
public int Id { get; set; }
public string EmailId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
내가 가진 :
var user = new ApplicationUser()
{
UserName = model.UserName,
Email = model.Email,
ConfirmationToken = confirmationToken,
IsConfirmed = false,
UserProfileInfo = new UserProfileInfo { EmailId = model.Email }
};
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
SendEmailConfirmation(model.Email, model.UserName, confirmationToken);
return RedirectToAction("RegisterStepTwo", "Account");
}
else...
'profile' 데이터와'account' 데이터를 구분합니다. 하나의 테이블에 모든 것을 넣는 것은 나쁜 습관입니까? 그러면 ApplicationUser에 최대 15 개의 열을 추가 할 수 있습니다. – 1110
계정 데이터와 프로필 데이터를 분리 할 이유가 없으며 하나의 테이블에 모두 포함시키는 것이 바람직하지 않습니다. 그래도 정상화에주의를 기울이십시오. Facebook 용 인증 토큰과 같이 모든 사용자에게 적용 할 수없는 데이터의 경우 'ApplicationUser'에 대한 소유권이 아닌 소유권 주장이어야합니다. –