【发布时间】:2015-01-13 17:18:55
【问题描述】:
我不明白为什么到处都建议在 Seed 方法中使用 AddOrUpdate?
我们已经开发了半年的应用程序,每次更新服务器时,AddOrUpdates 都会覆盖用户更改。例如。如果我们调用种子:
context.Styles.AddOrUpdate(new Style { Id = 1, Color = "red" });
用户将样式更改为“绿色”,然后在下一次服务器更新时,我们再次将其覆盖为“红色”,这让用户非常恼火。
看起来,如果我们将 AddOrUpdate 更改为 Add,我们将保证不会覆盖用户数据。如果我们仍然需要一些特殊情况,我们可以将其单独迁移。与一般的 Configuration.Seed 方法不同,特定的迁移不会在同一个数据库版本上运行两次。
【问题讨论】:
-
看起来您只需要坐下来使用数据库和 EF,并弄清楚如何正确进行迁移,以免发生数据丢失。
-
@RobertHarvey,这就是我正在尝试做的事情,到目前为止还没有成功。添加解释。
-
请不要更改问题的标题以改变其含义。关于这个问题,我已经在网上搜索了很多天。有很多各种各样的信息。但正是缺少这条信息。我对自己能找到的其他东西不感兴趣。
-
不建议到处使用:thedatafarm.com/data-access/…
-
@Colin,谢谢你的链接。它帮助我不再像以前那样孤独J
标签: entity-framework entity-framework-migrations