我的解决方案中有两个项目,它们都引用了相同的数据库。 使用ASP.NET Core EF&身份我正在连接到同一个数据库以存储我的所有IdentityServer信息。
namespace IdentityServer.Data
{
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{}
}
}
namespace IdentityServerBackOffice.Data
{
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{}
public DbSet<PasswordPolicy> PasswordPolicy { get; set; }
public DbSet<PasswordHistory> PasswordHistory { get; set; }
}
}
当我想使用EF生成数据库时,我得到一些表存在的错误,因为它们是由第一个数据库更新创建的
dotnet ef migrations add InitialIdentityServerConfigurationDbMigration -c ConfigurationDbContext -o Data/Migrations/IdentityServer/ConfigurationDb
dotnet ef migrations add InitialIdentityServerPersistedGrantDbMigration -c PersistedGrantDbContext -o Data/Migrations/IdentityServer/PersistedGrantDb
dotnet ef migrations add InitialIdentityServerIdentity -c ApplicationDbContext -o Data/Migrations/IdentityServer/Identity
dotnet ef database update -c ApplicationDbContext
dotnet ef migrations add InitialIdentityServerIdentity -c ApplicationDbContext -o Data/Migrations/IdentityServerBackOffice/Identity
dotnet ef database update -c ApplicationDbContext
有两个共享的公用表,一些是为 IdentityServer 创建的,另一些是为 IdentityServerBackOffice 创建的,我如何忽略某些表的创建?或任何其他建议,以便我可以拥有我需要的所有表格的数据库?
答案 0 :(得分:0)
您可以忽略删除其DbSet的表的创建。