处理多个 DbContext 的迁移

问题描述 投票:0回答:1

我的情况是,我已将身份添加到现有的 .Net Core 6 Blazor Server 项目中。这显然创建了一个继承自 IdentityDbContext 的 DbContext。

但是我现在需要为我自己的实体添加我自己的 DbContext(与 Identity 无关,但我的应用程序的其余部分需要)。这些将与身份表存在于同一数据库中(这是一个小项目,不需要多个数据库)。这一点很简单,因为我显然只是使用相同的连接字符串。

我的问题是,如何正确处理这两种情况下的迁移?我不想为我的实体创建迁移,只是为了撤消 IdentityDbContext 中的更改。理想情况下,我想创建一个单一迁移,同时处理两个 DbContext 的数据库对象的更新(特别是当它们存在于同一数据库中时)。我意识到我可以(事实上我必须)指定我想要为其创建迁移的上下文,但这会对其他上下文中的数据库对象产生什么影响?

我已经看到提到使用启用迁移,但看不到任何将其应用于多个上下文的有用示例....

我觉得我试图简化结构,使迁移变得过于复杂!

.net .net-6.0 blazor-server-side core
1个回答
0
投票

您可以将自己的实体放入身份上下文中。

    public class ApplicationDbContext : IdentityDbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }

        public DbSet<Student> Students { get; set; }  //your own entities
    }
© www.soinside.com 2019 - 2024. All rights reserved.