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

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

我的疑问是:

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

推荐答案

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

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

Asp.net相关问答推荐

DBSet 不包含 Where 的定义

如何向 Array.IndexOf 添加不区分大小写的选项

Firefox 和 Chrome 之间 1 像素的行高差

/应用程序中的服务器错误. ASP.NET

'Access-Control-Allow-Origin' 标头包含多个值 '*, *',但只允许一个

System.Web.Helpers.Crypto - 盐在哪里?

SameSite 属性如何自动添加到我的 Asp.net_SessionID cookie 中?

如何从 asp:Repeater 循环遍历项目模板中的项目?

倒带请求正文流

Request.Params 和 Request.Form 什么时候不同?

如何在 ASP.NET 应用程序中使用 jQuery 捕获提交事件?

为什么aspx文件会返回404(找不到页面)

哪些行为驱动开发 (BDD) 工具/框架可用于 Microsoft Stack?

更改后未应用 CSS

使 Web.config 转换在本地工作

使用 Ninject OWIN 中间件在 OWIN 启动中注入 UserStore

将当前谷歌 map 保存为图片

ASP.Net 无法创建/卷影复制

MVC3 和实体框架

如何在 ASP.NET 响应中传递大文件?