【问题标题】:Entity framework migration and seeding specific update实体框架迁移和播种特定更新
【发布时间】:2013-08-30 15:52:58
【问题描述】:

有谁知道如何使用 EF 5 迁移为特定更新播种?我有现有的数据库,已经填充了查找,并且正在开发一些审计功能。我创建了一个 AuditType 实体和 Audit。当我调用 update-database 时,我不希望重新添加我第一次创建数据库时的所有种子数据。我是否只需手动删除现有的种子数据,或者我可以使用类似于我调用 add-migration 时创建的日期时间来命名 Configuration.cs 之类的事情吗?

谢谢

【问题讨论】:

    标签: entity-framework-5 entity-framework-migrations seeding


    【解决方案1】:

    您可以通过指定迁移的名称来运行特定的迁移。例如,如果您有一个名为 MyTuesdayMigration.cs 的迁移,则在包管理器控制台中,您将运行以下命令:

    update-database -TargetMigration MyTuesdayMigration
    

    【讨论】:

    • 嗨 Greg,您是否会将与特定更新/升级相关的“种子”语句放在“MyTuedayMigration”中的“Up”方法中,而不是在如果我已正确设置所有内容,Configuration.cs 位于 Migrations 文件夹级别,而不是 Migrations->MyTuesdayMigration??
    • 是的,放在up方法中。在您的情况下,您不希望您的种子方法填充数据(如果我的理解是正确的)。 up 方法没有什么特别之处。您可以随时运行它。
    • ef 核心:更新数据库-迁移 test32
    【解决方案2】:

    您可能需要删除数据,因此您应该使用 -fore 更新数据库 -TargetMigration 迁移名称 -force

    【讨论】:

      猜你喜欢
      • 2013-09-16
      • 2017-04-08
      • 1970-01-01
      • 2020-07-14
      • 2015-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多