簡體   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