gpt4 book ai didi

database - 是否有命令检查 Entity Framework 中是否存在数据库?

转载 作者:太空狗 更新时间:2023-10-30 01:48:05 24 4
gpt4 key购买 nike

我可能对这个问题措辞不佳,但在我使用的 global.asx 文件中

 if (System.Diagnostics.Debugger.IsAttached)
{
var test = new TestDbSeeder(App_Start.NinjectWebCommon.UcxDbContext);
test.seed();
}

这会检查调试器是否已连接并运行我的测试播种器,以便我的验收测试始终通过。

我需要检查数据库是否也存在,如果不存在则先运行这段代码:

  var test2 = new DataSeeder();
test2.Seed(App_Start.NinjectWebCommon.UcxDbContext);

此数据播种器是必须始终存在于数据库中的实际数据。是否有检查数据库是否存在的命令,以便我可以运行该代码块。谢谢!

最佳答案

请问Database.Exists方法对你有用吗?

if (!dbContext.Database.Exists())
dbContext.Database.Create();

编辑 #1 以回答评论

public class DatabaseBootstrapper
{
private readonly MyContext context;

public DatabaseBootstrapper(MyContext context)
{
this.context = context;
}

public void Configure()
{
if (context.Database.Exists())
return;

context.Database.Create();
var seeder = new Seeder(context);
seeder.SeedDatabase();
}
}

这应该完全符合您的要求。在您的 global.asax 文件中...

public void Application_Start()
{
var context = ...; // get your context somehow.
new DatabaseBootstrapper(context).Configure();
}

关于database - 是否有命令检查 Entity Framework 中是否存在数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com