我的情况是,我已将身份添加到现有的 .Net Core 6 Blazor Server 项目中。这显然创建了一个继承自 IdentityDbContext 的 DbContext。
但是我现在需要为我自己的实体添加我自己的 DbContext(与 Identity 无关,但我的应用程序的其余部分需要)。这些将与身份表存在于同一数据库中(这是一个小项目,不需要多个数据库)。这一点很简单,因为我显然只是使用相同的连接字符串。
我的问题是,如何正确处理这两种情况下的迁移?我不想为我的实体创建迁移,只是为了撤消 IdentityDbContext 中的更改。理想情况下,我想创建一个单一迁移,同时处理两个 DbContext 的数据库对象的更新(特别是当它们存在于同一数据库中时)。我意识到我可以(事实上我必须)指定我想要为其创建迁移的上下文,但这会对其他上下文中的数据库对象产生什么影响?
我已经看到提到使用启用迁移,但看不到任何将其应用于多个上下文的有用示例....
我觉得我试图简化结构,使迁移变得过于复杂!
您可以将自己的实体放入身份上下文中。
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<Student> Students { get; set; } //your own entities
}