2012-06-26 83 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所需的任何代碼生成的代碼。 –