When I use IdentityUser
model in Asp.Net Identity
with EntityFramework
, it creates some standard fields in the database. All the fields are self explanatory except for the below two fields.
NormalizedUsername
- Which contains the uppercase value of the UsernameNormalizedEmail
- Which contains the uppercase value of the EmailMy doubts are:
Normalizing means providing a canonical representation, so that any two equivalent email strings normalize to the same thing. The comments on the Django method explain: Normalize the email address by lowercasing the domain part of it.
The name normalization process normalizes a complete username into a base username and a domain. The following forms of usernames are normalized. Some of the common forms for username are: username (no domain) AD-DOMAIN\username.
By my understanding, both fields are there for performance reasons. It's sort of explained in the following thread Normalization on UserName and Email causes slow performance and are used to validate the case insensitive uniqueness of the UserName
and Email
fields. They are persisted in the database in order be able to create index on them, thus making the lookups by the normalized user name and email sargable.
There is no other reason or usage of these fields.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With