【问题标题】:Entity Framework 4.3 Migrations move existing dataEntity Framework 4.3 迁移移动现有数据
【发布时间】:2012-06-13 09:14:07
【问题描述】:

我正在使用 EF Code First 4.3 迁移来更新我的数据库方案。现在我有以下情况:需要删除表A,必须创建表B,并且必须将表A的数据(连同其他一些数据)复制到表B。我无权访问DbContext in DbMigration 类,我的问题是如何实现?

【问题讨论】:

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


    【解决方案1】:

    在迁移的Up 迁移方法中,您可以使用Sql 方法定义您需要的任何 SQL,因此如果您使用显式迁移,您可以将数据迁移代码放在创建表 B 和删除表 A 之间。

    【讨论】:

    • 谢谢,但是您有一个示例,例如如何使用Sql() 函数将整数从表 A 复制到表 B?
    • 所以你不知道如何使用SQL?您必须对迁移逻辑有更详细的描述才能实现这一目标。
    • 我发现了更多信息,不知道可以使用单个 SQL 查询复制数据。 DbMigration 中没有 DbContext 仍然太糟糕了:)
    • 它在迁移过程中不可用,因为数据库不包含您当前上下文所需的更改,并且您当前的上下文与您的原始数据库不匹配 - 例如,您在上下文中已经没有 TableA 所以你怎么能用它来加载这些数据?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多