![](/img/trans.png)
[英]Mysterious EntityTypes in my reverse-engineered DbContext, without keys
[英]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.