当我在Asp.NetIdentityEntityFramework中使用IdentityUsermodel时,它会在数据库中创建一些标准字段.除以下两个字段外,所有字段都是不言而喻的.

  • NormalizedUsername-包含用户名的大写值
  • NormalizedEmail-包含邮箱的大写值

我的疑问是:

  1. 为什么我们需要这些标准化字段?它在哪里使用?
  2. 将其持久保存在数据库中的目的是什么?

推荐答案

据我所知,这两个领域都是出于性能原因.下面的线程Normalization on UserName and Email causes slow performance对其进行了解释,并用于验证UserNameEmail字段的不区分大小写唯一性.它们被保存在数据库中,以便能够在其上创建索引,从而通过规范化用户名和邮箱sargable进行查找.

这些字段没有其他原因或用法.

Asp.net相关问答推荐

在这个 For 循环计数没有增加

如何在页面加载之前运行 JavaScript 代码?

如何通过 Asp.net 中的命令参数传递多个值?

将命令行参数传递给 ASP.NET Core 中的 Startup 类

有没有一种简单的方法可以将对象属性转换为字典

asp.net mvc 中的 RedirectToAction 用法

如何将 Web 应用程序项目转换为类库项目

无法确定条件表达式的类型,因为 'string' 和 'System.DBNull' 之间没有隐式转换

ASP.NET 中的 <%# Bind("") %> 和 <%# Eval("") %> 有什么区别?

ASP.NET 会话超时测试

什么是实体框架中的复杂类型以及何时使用它?

解析器错误:无法创建类型

ASP.NET IIS Web.config [内部服务器错误]

将 Http 请求读入字节数组

.NET 4.0 中的自定义 MembershipProvider

为什么在 MVC4 Razor 布局文件中无法识别 @Scripts 和 @Styles 命令?

我可以在 .NET Framework 4.0 上运行 MVC 5 应用程序吗?

强制 IIS Express 进入classic 管道模式

ASP.NET MVC3 局部视图命名约定

Session.Clear() 与 Session.RemoveAll()