繁体   English   中英

如何在运行时读取迁移文件并将它们应用到 EF Core 中的数据库?

[英]How can I read migrations files at runtime and apply them to my database in EF Core?

如何在运行时读取迁移文件并将它们应用到 EF Core 中的数据库?

对于测试,我在运行测试之前生成迁移文件。 现在我想获取迁移文件(我知道生成它们的路径)并在运行时应用它们。 我怎么能那样做?

我知道dbContext.Database.Migrate(); 应该应用所有迁移,但应用程序不会发生。 我认为Migrate()方法不知道在哪里查找迁移文件,所以我需要一种方法来告诉他。 但我找不到这方面的示例代码。

嗨,我认为这就是您要查找的内容: https : //docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/projects?tabs=dotnet-core-cli

options.UseSqlServer(
    connectionString,
    x => x.MigrationsAssembly("MyApp.Migrations"));

然后: https : //docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/applying?tabs=dotnet-core-cli#apply-migrations-at-runtime

using (var scope = host.Services.CreateScope())
    {
        var db = scope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
        db.Database.Migrate();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM