Метод, используемый в asp.net идентичности 2, чтобы изменить имена таблиц идентичности не работает в идентичности asp.net 3.Как изменить имена таблиц, используемые asp.net identity 3 (vnext)?
5
A
ответ
3
Изменить Строитель объекты в OnModelCreating вашего ApplicationDbContext, используя ForSqlServerToTable метода расширения, чтобы изменить нужную таблицу (ы).
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
Вы можете легко сделать это, изменив отображение сущности с методом расширения 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.
Смежные вопросы
- 1. Попытка изменить имена таблиц идентификаторов Asp.net MVC5
- 2. Настройка ASP.NET Identity 3
- 3. Identity Server 3 - Asp.net Сайт
- 4. Аутентификация претензий ASP.NET vNext
- 5. Asp.Net MVC Core и Identity 3
- 6. Asp.Net Identity 3 без datastore
- 7. Asp.net vNext Cookie Authentication
- 8. Как получить все имена таблиц, используемые в представлении Oracle?
- 9. Как изменить имена таблиц после «makemigrations»
- 10. ASP.NET Identity от 2 до 3
- 11. ASP.NET Core Identity 3 Тайм-аут cookie
- 12. Использование vNext Identity без использования базы данных
- 13. Asp.Net VNext Служба Windows
- 14. ASP.NET Core 1.0 Identity 3 & BaseEntity
- 15. Как получить FacebookAccessToken в AspNet.Identity версии 3/ASP.Net MVC6/VNext?
- 16. ASP.NET Identity - Как изменить dbo.AspNetUsers.Id в некластеризованный индекс?
- 17. Как определить правила паролей для Identity в ASP.NET 5 MVC 6 (vNext)?
- 18. Как настроить ASP.Net Identity
- 19. ASP.NET vNext - Локализация (.resx)
- 20. Thread.Sleep в Asp.net vNext
- 21. Asp.net mvc5 Identity?
- 22. ELMAH на ASP.NET vNext?
- 23. ASP.NET 5 (vNext) - Конфигурация
- 24. ASP.NET VNext Request.Properties
- 25. Ссылка на имена пользователей ASP.NET для таблиц
- 26. Имена культуры, используемые другими культурами
- 27. ASP.NET vnext бен длл
- 28. vNext vs ASP.NET 5
- 29. ASP.Net vNext Папка App_Data
- 30. asp.net vnext и XDocument
работал для меня с простым старым 'ToTable' вместо' ForSqlServerToTable'. (хотя я использовал идентификатор ядра asp.net с проектом примера ядра dotnet, поэтому, возможно, вам не поможет) – Terminus