C# 实体框架标识用户覆盖用户名将不会保存在数据库中

C# 实体框架标识用户覆盖用户名将不会保存在数据库中,c#,entity-framework,asp.net-core,entity-framework-core,asp.net-identity,C#,Entity Framework,Asp.net Core,Entity Framework Core,Asp.net Identity,当重写用户名并尝试创建新用户时,我遇到了实体框架IdentityUser的问题。即使保存了规范化的用户名,该用户名也不会保存在数据库中 当我覆盖时,同样的问题也会发生在电子邮件上 多年来,我一直在许多项目中以这种方式使用它,没有任何问题,但在这个项目中,我无法找到它发生的原因 如果我删除覆盖属性,那么它将保存在数据库中,但我确实需要覆盖 请帮忙 您是否将用户类传递给IdentityDbContext 在继承IdentityDbContext的applicationDbContext中,如果您

当重写用户名并尝试创建新用户时,我遇到了实体框架IdentityUser的问题。即使保存了规范化的用户名,该用户名也不会保存在数据库中

当我覆盖时,同样的问题也会发生在电子邮件上

多年来,我一直在许多项目中以这种方式使用它,没有任何问题,但在这个项目中,我无法找到它发生的原因

如果我删除覆盖属性,那么它将保存在数据库中,但我确实需要覆盖

请帮忙


您是否将用户类传递给IdentityDbContext

在继承IdentityDbContext的applicationDbContext中,如果您有自己的特定用户或角色类,则必须将这些类传递给IdentityDbContext

public class ApplicationDbContext: IdentityDbContext<UserClass, RoleClass, TKey>{}
public类ApplicationDbContext:IdentityDbContext{}
此外,在StartUp.cs类中,必须在添加标识服务的位置添加这些类

services.AddIdentity<UserClass, RoleClass>();
services.AddIdentity();

我注意到,与其他项目相比,这正是本项目缺少的。这为我解决了问题。