У меня есть asp. net MVC проект с аутентификацией. Реализация по умолчанию использует адрес электронной почты либо для регистрации пользователей, либо для входа в систему, но в моем проекте мне не нужен их адрес электронной почты, и я хочу использовать простое строковое имя пользователя, поэтому я включил следующий код в свой метод OnModelCreating, чтобы исключить электронную почту адреса и некоторые другие функции, которые мне не нужны:
modelBuilder.Entity<ApplicationUser>().Ignore(p => p.AccessFailedCount).
Ignore(p => p.Email).Ignore(p => p.EmailConfirmed).Ignore(p => p.LockoutEnabled).
Ignore(p => p.LockoutEndDateUtc).Ignore(p => p.PhoneNumber).
Ignore(p => p.PhoneNumberConfirmed).Ignore(p => p.TwoFactorEnabled);
Я изменил LoginViewModel и Login.cs html и заменил поля адреса электронной почты именем пользователя, но когда я пытаюсь войти, возникает исключение повышается в действии входа в систему в следующей строке:
var result = await SignInManager.PasswordSignInAsync(model.Username, model.Password,
model.RememberMe, shouldLockout: false);
На странице ошибки указано:
Свойство 'Email' не является объявленным свойством для типа 'ApplicationUser' , Убедитесь, что свойство не было явно исключено из модели с помощью метода Ignore или аннотации данных NotMappedAttribute. Убедитесь, что это допустимое примитивное свойство.
Вопрос в том, как полностью исключить электронную почту?