EF Core:在服务器重新启动时删除并重新创建数据库

时间:2017-10-19 08:30:54

标签: c# asp.net-core asp.net-core-mvc entity-framework-core

我们有一个带有Entity Framework Core的ASP.NET Core MVC应用程序。我们已在现有TestingDevelopmentStaging环境中添加了自定义Production环境。现在,我们希望每次应用程序在此新的测试环境中启动时,应用程序都会删除并重新创建(或至少截断)数据库。

是否有自动化方式来实现此行为?或者我是否必须在数据库上下文中的每个RemoveAll上手动调用DbSet

1 个答案:

答案 0 :(得分:7)

致电dbContext.Database.EnsureDeleted();

  

确保上下文的数据库不存在。如果是的话   不存在,不采取任何行动。如果它确实存在则数据库是   删除。

     

警告:删除整个数据库,不做任何删除   只是模型用于此上下文的数据库对象。

然后调用dbContext.Database.Migrate()创建新的(空)数据库并迁移到最新版本。