2012-06-26 62 views
0

Sql Azure不支持更改表密钥。有一个解决方法:创建一个新表,传输数据,删除旧表。EF代码第一次迁移 - 更改Sql Azure表密钥

由于此限制,EF(4.3)在更改表格的关键字后无法迁移我的模型。

如何在应用手动工作后首先获取EF代码以接受新数据库? (而不必删除整个数据库或触摸其他表)

感谢

回答

0

只要一点手工编辑的,你可以得到这个代码基于迁移内所做的一切。

  • 更改模型中的键(通过注释或流利的API)。
  • 从软件包管理器控制台运行add-migration以获得新的基于代码的迁移。
  • 使用Azure所需的create-transfer-delete-rename方法在迁移文件中交换生成的迁移步骤。

现在,当您运行应用程序时,更改密钥的更新将使用适合Azure的自定义迁移步骤完成,而不是使用默认代码。

+0

嗯我明白了前两个步骤,但是这个“create-transfer-delete-rename”方法是什么样的? – Clement

+0

“创建 - 传输 - 删除 - 重命名”的含义是您自己概述的工作,尽管如果Azure不允许重命名,我可能不会完全删除重命名。你必须检查什么可行。我们的想法是更改使用Azure所需的任何代码生成的代码。 –