要解决AspNet Identity与Identity Server中重复的表格问题,可以采取以下步骤:
Startup.cs
文件中的services.AddIdentity
方法中,通过options
参数设置TablePrefix
属性来修改Asp.Net Identity的表格前缀。services.AddIdentity(options =>
{
options.TablePrefix = "AspNetIdentity_";
})
ConfigurationDbContext
和PersistedGrantDbContext
中的OnModelCreating
方法中,使用modelBuilder.HasDefaultSchema
方法设置表格的默认模式和前缀。protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("IdentityServer");
modelBuilder.Entity().ToTable("Clients");
modelBuilder.Entity().ToTable("ApiResources");
// 更多实体表格的映射...
base.OnModelCreating(modelBuilder);
}
appsettings.json
或appsettings.Development.json
配置文件中,修改连接字符串,将IdentityServer的数据库表格前缀与AspNet Identity的表格前缀保持一致。"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=IdentityServer;Trusted_Connection=True;MultipleActiveResultSets=true",
"IdentityServerConnection": "Server=(localdb)\\mssqllocaldb;Database=IdentityServer;Trusted_Connection=True;MultipleActiveResultSets=true"
}
通过以上步骤,你可以在AspNet Identity与Identity Server中避免重复的表格。请根据你的具体项目进行相应的修改。