Asp.net

.NET 核心 IdentityUser 模型中規範化電子郵件和使用者名的用途是什麼?

  • December 31, 2016

當我在Asp.NetIdentityUser中使用模型時,它會在數據庫中創建一些標準欄位。除以下兩個欄位外,所有欄位都是不言自明的。 Identity``EntityFramework

  • NormalizedUsername- 其中包含使用者名的大寫值
  • NormalizedEmail- 其中包含電子郵件的大寫值

我的疑問是:

  1. 為什麼我們需要這些標準化欄位?它在哪裡使用?
  2. 將其保存在數據庫中的目的是什麼?

據我了解,這兩個領域都是出於性能原因。在以下執行緒中對 UserName 和 Email 的 Normalization 進行了解釋,這會導致性能下降UserName,並用於驗證andEmail欄位的不區分大小寫的唯一性。它們被持久保存在數據庫中,以便能夠在它們上創建索引,從而通過規範化的使用者名和電子郵件sargable進行查找。

這些欄位沒有其他原因或用途。

引用自:https://stackoverflow.com/questions/41409692