asp.net - 如何更改 asp.net identity 3 (vnext) 使用的表名?

标签 asp.net asp.net-identity asp.net-identity-3

在 asp.net 身份 2 中用于更改身份表名称的方法在 asp.net 身份 3 中不起作用。

最佳答案

您可以通过使用扩展方法 ToTable("TableName") 更改实体映射来轻松完成此操作。在 OnModelCreating您的 DbContext :

而且你不需要使用 .ForSqlServerToTable() , 只是 .ToTable()应该在任何数据库中工作。

protected override void OnModelCreating(ModelBuilder builder)
{
    base.OnModelCreating(builder);

    builder.Entity<User>().ToTable("Users"); // Your custom IdentityUser class
    builder.Entity<IdentityUserLogin<string>>().ToTable("UserLogins");
    builder.Entity<IdentityUserToken<string>>().ToTable("UserTokens");
    builder.Entity<IdentityUserClaim<string>>().ToTable("UserClaims");
    builder.Entity<IdentityUserRole<string>>().ToTable("UserRoles");
    builder.Entity<IdentityRoleClaim<string>>().ToTable("RoleClaims");
    builder.Entity<IdentityRole>().ToTable("Roles");            
}

这里唯一的问题是记住使用具有标识符类型的泛型(字符串是 AspNetCore 上的默认值。

关于asp.net - 如何更改 asp.net identity 3 (vnext) 使用的表名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34523066/

相关文章:

javascript - 将 Razor 语法与 JavaScript 混合

.net - 在.net core中更新具有身份的用户角色而无需重新登录

c# - 实体类型 'type' 处于阴影状态。有效的模型要求所有实体类型都具有相应的 CLR 类型

c# - 通过服务器端 asp.net 代码将对象传递给 silverlight

c# - ASP.NET MVC Dotfuscator 问题

ASP.NET Windows 身份验证适用于 URL 中的 IP 地址,但不适用于 dns

asp.net-mvc-5 - MVC5 身份验证 : Authorize attribute on every controller or base controller

jquery - ASP.NET Identity 2.0 防止身份验证 cookie 过期

c# - ASP.NET 5 Identity 3 用户在应用程序重启后注销

asp.net-mvc - 使用 JWK 在 C# 中验证 JWT token