Cześć,
Utworzyłem projekt ASP.NET Core MVC z uwierzytelnianiem Individual User Accounts. Tworzę model dla zasobu, który będzie publikowany przez użytkownika. I teraz zastanawiam się, jak powinienem załączyć użytkownika w moim modelu.
Widzę, że ApplicationUser dziedziczy z IdentityUser:
public class ApplicationUser : IdentityUser
IdentityUser jest następujący:
public class IdentityUser : IdentityUser<string>
Zaś IdentityUser<TKey> ma:
public class IdentityUser<TKey> where TKey : IEquatable<TKey>
//...
public virtual string Email { get; set; }
public virtual string UserName { get; set; }
public virtual TKey Id { get; set; }
Jak powinienem załączyć użytkownika w modelu i utworzyć klucz obcy? Czy w taki sposób:
public string ApplicationUserId { get; set; }
public ApplicationUser ApplicationUser { get; set; }
Dlaczego string jest używany jako id? Czy jest on tożsamy z nazwą użytkownika (chyba nie, bo UserName i Id są osobnymi właściwościami)? Chciałbym zezwolić później użytkownikom na zmianę nazwy, ale nie adresu e-mail.
Dzięki!