我正在使用ASP.NET MVC4。我正在切换到已经存在的测试数据库。 是否有任何基于代码的迁移命令来删除并重新创建数据库,例如Update-Database-DropCreate 。
我不想使用任何数据库初始化程序,例如DropCreateDatabaseIfModelChanges
,因为当我切换回实时数据库时,我将不得不手动删除初始化程序代码。还有其他方法可以做到这一点,以便以后在使用实时数据库时不必进行任何更改。
我尝试了Update-Database -force
,但是它没有重新创建数据库。
答案 0 :(得分:1)
如果您使用依赖项注入并使用容器注入上下文类,则可以使用初始化策略为测试数据库创建不同的上下文,并保留原始的原样,因为您要做的就是更改注入的上下文,甚至添加一个上下文工厂,以根据环境创建特定上下文
如果这很复杂,那么另一种方法是将初始化策略添加到您的上下文中,并添加一个条件来检查这是测试服务器还是生产服务器(您可以从u上下文中获得的连接字符串中知道)
答案 1 :(得分:0)
如果通过迁移命令执行此操作,则只需使用-TargetMigration 0运行该命令,然后再次执行Update-Database。