提问人:Jaczura Zoltán 提问时间:10/28/2023 最后编辑:Mustafa ÖzçetinJaczura Zoltán 更新时间:10/28/2023 访问量:28
在 C 语言中创建 SQL 数据库后未运行迁移#
Migration is not running after creating SQL database in C#
问:
我设法创建了以下单元测试基类,以便每个测试类都有单独的数据库。
public class BaseTestClass
{
public HttpClient _httpClient;
internal Context context { get; set; }
protected BaseTestClass()
{
var webApplicationFactory = new WebApplicationFactory<Program>()
.WithWebHostBuilder(builder =>
{
builder.ConfigureTestServices(services =>
{
services.RemoveAll<DbContextOptions<Context>>();
services.AddDbContext<Context>(options =>
options.UseSqlServer(connectionString));
});
});
var scope = webApplicationFactory.Services.GetService<IServiceScopeFactory>()!.CreateScope();
context = scope.ServiceProvider.GetRequiredService<Context>();
context.Database.EnsureCreated();
context.Database.Migrate();
_httpClient = webApplicationFactory.CreateDefaultClient();
}
public void Dispose()
{
context.Database.EnsureDeleted();
context.Dispose();
}
数据库已创建,但缺少表。迁移是主项目 (Program.cs) 我怎么能说出使用主项目中的迁移的上下文?
答: 暂无答案
评论