Что такое использование нормализованного Email & UserName in.NET модель core IdentityUser?

когда я использую IdentityUser модель в Asp.NetIdentity С EntityFramework, это создает некоторые стандартные поля в базе данных. Все поля являются самоочевидными, за исключением следующих двух полей.

  • NormalizedUsername - который содержит значение в верхнем регистре имени пользователя
  • NormalizedEmail - который содержит значение верхнего регистра электронной почты

мои сомнения:

  1. зачем нам эти нормализованные Филдс?
  2. какова цель сохранения его в базе данных?
  3. в каком месте эти поля используются в рамках?

1 ответов


насколько я понимаю, оба поля существуют по соображениям производительности. Это как бы объясняется в следующем потоке нормализация имени пользователя и электронной почты вызывает медленную производительность и используются для проверки нечувствительной к регистру уникальности UserName и Email поля. Они сохраняются в базе данных, чтобы иметь возможность создавать индекс на них, тем самым делая поиск по нормализованному имени пользователя и электронной почте sargable.

нет другого причина или использование этих полей.