У меня есть ASP.NET MVC Core n-уровневое приложение.Я изменил первичный ключ по умолчанию на целое число.Нет проблем.Но я пытаюсь GetUserId () метод по умолчанию UserManager возвращает строку.Я пишу свой собственный метод или я сделал что-то не так?
//In controller
public int GetLoggedUserId()
{
//it's return still string and of course i can't compile my code
//problem is here
return UserService.GetUserId();
}
public class ApplicationUser : IdentityUser<int>
{
[MaxLength(255)]
public string LogoPath { get; set; }
}
public partial class MyUserManager : UserManager<ApplicationUser>
{
private readonly IUnitOfWork _unitOfWork;
public MyUserManager(IUnitOfWork unitOfWork,
IUserStore<ApplicationUser> store,
IOptions<IdentityOptions> optionsAccessor,
IPasswordHasher<ApplicationUser> passwordHasher,
IEnumerable<IUserValidator<ApplicationUser>> userValidators,
IEnumerable<IPasswordValidator<ApplicationUser>> passwordValidators,
ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors,
IServiceProvider services,
ILogger<UserManager<ApplicationUser>> logger) :
base(store, optionsAccessor, passwordHasher,
userValidators,
passwordValidators,
keyNormalizer,
errors,
services,
logger)
{
_unitOfWork = unitOfWork;
}
}
services.AddDefaultIdentity<ApplicationUser>()
.AddEntityFrameworkStores<MyDbContext>()
.AddUserManager<MyUserManager>()
.AddDefaultTokenProviders();