asp.net - .NET核心IdentityUser模型中的规范化电子邮件和用户名的用途是什么?

标签 asp.net entity-framework asp.net-identity .net-core

当我在Asp.Net IdentityUserIdentity中使用EntityFramework模型时,它将在数据库中创建一些标准字段。除以下两个字段外,所有字段均为自我说明。

  • NormalizedUsername-包含用户名
  • 的大写值
  • NormalizedEmail-包含电子邮件
  • 的大写值

    我的怀疑是:
  • 为什么我们需要这些规范化字段?它在哪里使用?
  • 将其持久保存在数据库中的目的是什么?
  • 最佳答案

    据我了解,这两个字段都是出于性能原因。在以下线程Normalization on UserName and Email causes slow performance中对此进行了某种解释,并用于验证UserNameEmail字段的不区分大小写的唯一性。它们被保留在数据库中以便能够在它们上创建索引,从而通过标准化的用户名和电子邮件sargable进行查找。

    这些字段没有其他原因或用途。

    关于asp.net - .NET核心IdentityUser模型中的规范化电子邮件和用户名的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41409692/

    相关文章:

    asp.net - 如何在 Asp.net MVC 4 应用程序中使用 SimpleMemberShip Provider

    javascript - 如何从后台代码访问这些动态创建的控件?

    c# - 以编程方式获取 Entity Framework 6 中 POCO 之间的外键

    c# - 在 System.Web 中为 Owin 使用 HttpContext 的替代方法

    jquery - 如何将 JQuery 图像 slider 与母版页一起使用?

    Asp.net 向所有页面添加 header 方法

    c# - 限制访问,直到用户确认电子邮件链接

    asp.net - ASP.NET Identity 的 IUserSecurityStampStore<TUser> 接口(interface)是什么?

    c# - 慢速 AsQueryable() 和 IQueryable 和 IEnumerable 的通用方法

    c# - Entity Framework - 如何将复杂对象添加到数据库