繁体   English   中英

在基于代码的EF迁移中是否有任何命令可以重新创建数据库

[英]Is there any command in Code-based EF migration to re-create the database

我正在使用ASP.NET MVC4。 我正在切换到已经存在的测试数据库。 是否有任何基于代码的迁移命令来删除并重新创建数据库,例如Update-Database-DropCreate

我不想使用任何数据库初始化程序,例如DropCreateDatabaseIfModelChanges因为当我切换回实时数据库时,我将必须手动删除初始化程序代码。 还有其他方法可以做到这一点,以便以后在使用实时数据库时不必进行任何更改。

我尝试了Update-Database -force但是它没有重新创建数据库。

如果您使用依赖项注入并使用容器注入上下文类,则可以使用初始化策略为测试数据库创建不同的上下文,并保留原始的原样,因为您要做的就是更改注入的上下文,甚至向其中添加上下文工厂根据环境创建特定的上下文

如果这很复杂,那么另一种方法是将初始化策略添加到您的上下文中,并添加一个条件以检查这是测试服务器还是生产服务器(您可以从连接字符串中得知,您可以从上下文中获得该字符串)

如果通过迁移命令执行此操作,则可以简单地使用-TargetMigration 0运行该命令,然后再次执行Update-Database。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM