![](/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.