删除数据库中的表;如何使用Code First重新创建它

时间:2015-10-23 17:14:18

标签: entity-framework ef-code-first ef-migrations

删除数据库中的表X后,在PackageManagerConsole中发出update-database命令,现在我收到以下错误:“找不到对象”dbo.X“,因为它不存在或者您没有权限。”< / p>

考虑到这种情况,如何强制CodeFirst从头开始创建表?

1 个答案:

答案 0 :(得分:3)

这些是处理此方案的步骤:

  1. 从db
  2. 删除表
  3. 删除所有相关的存储过程(如果有)
  4. 创建一个具有不同/不同名称的新模仿实体/表类(例如BlahBlah)
  5. 在OnModelCreating方法
  6. 中创建新实体所需的任何配置 在PackageConsoleManager中
  7. 发出add-migration命令
  8. 打开迁移文件,并用旧表名
  9. 替换所有BlahBlah单词
  10. 评论或删除旧表类
  11. 在OnModelCreating
  12. 中为旧配置重复7
  13. 使用旧表类名称
  14. 重命名新表类
  15. 为OnModelCreating
  16. 中的新表配置重复8 在PackageConsoleManager中
  17. ,再次发出add-migration命令
  18. 如果它创建了新迁移,请将其内容替换为在步骤6中创建的旧迁移
  19. 在PackageConsoleManager中,发出update-database命令