实体框架代码首先检查数据库是否存在

时间:2013-11-12 03:40:50

标签: entity-framework-5

在实体框架代码中我首先想要在创建数据库之前检查数据库是否存在。 在代码中,当我调用Entities dc = new Entities()时,它会转到OnModelCreating并生成数据库。如何检查数据库是否首先存在于实体框架代码中?

2 个答案:

答案 0 :(得分:3)

你可以这样做:

using(var dbContext = new MyContext())
{
    if (!dbContext.Database.Exists())
        dbContext.Database.Create();
}

编辑:

在colegue sugestion之后,这段代码的含义非常简单:supose你的上下文构造函数没有设置为创建数据库,所以在发送任何数据库操作之前,你可以检查它是否存在,如果没有,你可以创建一个新的一个连接字符串参数是创建的规则。

答案 1 :(得分:0)

这将是一个静态替代方法,即使不先创建DbContext也可以使用:

    System.Data.Entity.Database.Exists(dbNameOrconnectionString);