更改标识表的列名称 (Asp.Net)
Change column names of identity tables (Asp.Net)
我想更改所有身份 table 的列名。我已经更改了 table 的名称,但我也想更改列名。
这是我到目前为止更改 table 名称的内容。
请告诉我如何更改列名。例如:
Id = lngUserID
Email = strUserEmail
EmailConfirmed = strUserEmailConfirmed
....
此外,如果我更改列名,我是否必须对主键和外键做任何事情?
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().ToTable("tblUsers");
modelBuilder.Entity<IdentityRole>().ToTable("tblRoles");
modelBuilder.Entity<IdentityUserClaim>().ToTable("tblUserClaims");
modelBuilder.Entity<IdentityUserLogin>().ToTable("tblUserLogins");
modelBuilder.Entity<IdentityUserRole>().ToTable("tblUserRoles");
将旧属性列表和相应的新列名称放入字典中,如下所示。
IDictionary<string, string> UserTableColumns = new Dictionary<string, string>() {
{"Id", "lngUserID"}, {"Email", "strUserEmail"},{"EmailConfirmed", "strUserEmailConfirmed"}};
foreach (var property in typeof(ApplicationUser).GetProperties())
{
if (UserTableColumns.ContainsKey(property.Name))
{
builder.Entity<ApplicationUser>().Property(property.Name).HasColumnName(property.Name);
}
}
在您的 onModelCreating Class 中,执行以下操作:
modelBuilder.Entity<ApplicationUser>().Property(p => p.Id).HasColumnName("strUserID");
modelBuilder.Entity<ApplicationUser>().Property(p =>p.Email).HasColumnName("strUserEmail");
modelBuilder.Entity<ApplicationUser>().Property(p => p.EmailConfirmed).HasColumnName("strUserEmailConfirmed");
我想更改所有身份 table 的列名。我已经更改了 table 的名称,但我也想更改列名。 这是我到目前为止更改 table 名称的内容。
请告诉我如何更改列名。例如:
Id = lngUserID
Email = strUserEmail
EmailConfirmed = strUserEmailConfirmed
....
此外,如果我更改列名,我是否必须对主键和外键做任何事情?
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().ToTable("tblUsers");
modelBuilder.Entity<IdentityRole>().ToTable("tblRoles");
modelBuilder.Entity<IdentityUserClaim>().ToTable("tblUserClaims");
modelBuilder.Entity<IdentityUserLogin>().ToTable("tblUserLogins");
modelBuilder.Entity<IdentityUserRole>().ToTable("tblUserRoles");
将旧属性列表和相应的新列名称放入字典中,如下所示。
IDictionary<string, string> UserTableColumns = new Dictionary<string, string>() {
{"Id", "lngUserID"}, {"Email", "strUserEmail"},{"EmailConfirmed", "strUserEmailConfirmed"}};
foreach (var property in typeof(ApplicationUser).GetProperties())
{
if (UserTableColumns.ContainsKey(property.Name))
{
builder.Entity<ApplicationUser>().Property(property.Name).HasColumnName(property.Name);
}
}
在您的 onModelCreating Class 中,执行以下操作:
modelBuilder.Entity<ApplicationUser>().Property(p => p.Id).HasColumnName("strUserID");
modelBuilder.Entity<ApplicationUser>().Property(p =>p.Email).HasColumnName("strUserEmail");
modelBuilder.Entity<ApplicationUser>().Property(p => p.EmailConfirmed).HasColumnName("strUserEmailConfirmed");