繁体   English   中英

从逆向工程的 EF Core DbContext 创建新数据库

[英]Create fresh database from Reverse-engineered EF Core DbContext

我正在开发一个 Asp.Net Core Web API 将与现有数据库交互,我正在使用带有逆向工程 DbContext 的 EF Core 3。

作为开发过程的一部分,我想使用 docker 配置集成测试,这意味着在容器中针对该数据库的副本进行测试。

我想知道是否有一种方法可以使用反向工程 DbContext 定义的架构在容器中创建新数据库,而不是保留(最终维护)创建脚本的副本,数据库将在开始时创建集成测试并最终在容器被丢弃时销毁

@ErikEJ 在评论中建议的EnsureCreated解决方案起到了作用。

现在在我的 Nunit 测试 class 的OneTimeSetup方法中,数据库是在 docker 映像中创建的:

[TestFixture]
class TestClass
{
    [OneTimeSetup]
    public async Task Setup()
    {
        var optionsBuilder = new DbContextOptionsBuilder<MyDbContext>();
        optionsBuilder.UseMySql("connectionString");

        await using var dbContext = new MyDbContext(optionsBuilder.Options);

        await dbContext.Database.EnsureCreatedAsync()
    }

    //...Tests
}

暂无
暂无

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

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