如何在创建db之前让entityFramework问我;

时间:2015-10-07 10:46:03

标签: c# .net entity-framework-6

我想让Entity Framework向我显示消息:'没有数据库'(如果数据库不存在)并且询问我是否创建了db; 我使用CodeFirst。

2 个答案:

答案 0 :(得分:3)

在您的DbMigrationsConfiguration'您应该关闭所有自动迁移:

public Configuration()
{
   AutomaticMigrationsEnabled = false;
}

现在在启动时,除了在您第一次访问数据库时抛出DBMigrationException之外,它不会做任何事情。因此,在访问数据库之前,请使用以下命令检查它是否存在:

dbContext.Database.Exists();

然后,您可以询问有关服务器位置等的问题,然后使用以下命令创建数据库:

var migrator = new DbMigrator(new Configuration());
migrator.Update();

答案 1 :(得分:0)

这不是构建到Entity Framework中的东西,也不是将它构建到Entity Framework中是有意义的,因为它特定于您的特定应用程序,无论您想出什么都不能直接使用在任何其他申请中。

您可以简单地将EF配置为不自动创建任何数据库。如果连接到数据库失败,请检查是否可以连接到服务器。如果可以连接到服务器,请检查数据库是否存在。如果数据库不存在,请提供创建它。