实体框架核心2.0动态创建数据库

时间:2017-09-04 08:18:35

标签: entity-framework-core

我是EF Core的新手,当我尝试使用它时,我发现你需要为它添加迁移来从模型创建数据库。我的问题是,除了迁移之外,我们还有其他选择,可以像在EF 6中一样在运行时动态创建数据库吗?

感谢。

1 个答案:

答案 0 :(得分:0)

在EF Core中提供播种机制之前,您可以提供自己的播种机制。

在项目的早期阶段,当数据库尚未修复时,我并不关心数据丢失。当我想动态重新创建数据库时,我调用下面的函数。通过设置参数,我确定这个“recreateDatabase”函数是否被称为yes或no。该函数包含在MyOwnDbContext类中。

您需要编写的种子功能与您在EF 6中使用的种子功能非常相似。

    private static void recreateDatabase(YourOwnDbContext dbContext)
    {
        dbContext.Database.EnsureDeleted();
        dbContext.Database.EnsureCreated();

        seed(dbContext);
    }