【问题标题】:EF code first migration - Change Sql Azure table keyEF 代码首次迁移 - 更改 Sql Azure 表键
【发布时间】:2012-06-26 11:45:10
【问题描述】:

Sql Azure 不支持更改表键。有一个变通方法:创建一个新表,传输数据,删除旧表。

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

在应用手动解决方法后,我可以做些什么来让 EF 代码首先接受新数据库? (无需删除整个数据库或触摸其他表)

谢谢

【问题讨论】:

    标签: ef-code-first azure-sql-database entity-framework-migrations


    【解决方案1】:

    通过一些手动编辑,您可以在基于代码的迁移中完成所有这些工作。

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

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

    【讨论】:

    • 嗯,前两步我明白了,但是这个“create-transfer-delete-rename”方法是什么样子的呢?
    • "create-transfer-delete-rename" 是指围绕您自己概述的工作,尽管如果 Azure 不允许重命名,我可能不完全是 delete-rename。你必须检查什么有效。我们的想法是更改使用 Azure 工作所需的任何代码生成的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2013-10-21
    • 2016-05-15
    • 1970-01-01
    • 2013-11-05
    • 2020-07-23
    相关资源
    最近更新 更多