yöntem istenen değişiklerdeki ForSqlServerToTable uzantısı yöntemi kullanarak, ApplicationDbContext arasında OnModelCreating içinde güçlendirici varlıkları değiştirme asp.net kimlik 3.Asp.net kimlik 3 (vnext) tarafından kullanılan tablo adlarını nasıl değiştirebilirim? Kimlik tablo adları değiştirme asp.net kimlik 2'de kullanılan
5
A
cevap
3
çalışmaz (adı.
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Customize the ASP.NET Identity model and override the defaults if needed.
// For example, you can rename the ASP.NET Identity table names and more.
// Add your customizations after calling base.OnModelCreating(builder);
builder.Entity<ApplicationUser>().ForSqlServerToTable("Users");
builder.Entity<IdentityUserRole<string>>().ForSqlServerToTable("UserRoles");
builder.Entity<IdentityUserLogin<string>>().ForSqlServerToTable("UserLogins");
builder.Entity<IdentityUserClaim<string>>().ForSqlServerToTable("UserClaims");
builder.Entity<IdentityRole>().ForSqlServerToTable("Roles");
}
}
4
listenize DbContext
ait OnModelCreating
üzerine uzatma yöntemiyle ToTable("TableName")
ile varlık eşlemesi değiştirerek kolayca yapabilirsiniz:
Ve .ForSqlServerToTable()
kullanmak gerekmez, sadece .ToTable()
herhangi veritabanında çalışmalıdır.
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");
}
burada sadece yakalamak için tanımlayıcı türü ile jenerikleri kullanmayı unutmayın etmektir (string AspNetCore varsayılan değerdir.
ToTable' yerine ForSqlServerToTable' 'arasında' düz eski ile benim için çalıştı. (ben dot.net çekirdek örnek projesi ile asp.net çekirdek kimliğini kullanıyor olmama rağmen, size yardımcı olmayabilir) – Terminus