我们有一个运行EF6的项目,现在已经激活了迁移。我们遇到的问题是,在创建数据库时,我们需要将大量数据添加到数据库中。这很有效,直到我们需要在迁移部分中添加数据,因此它成为SQL脚本的一部分。因为当我们在开发机器上尝试创建新数据库时,迁移步骤在Initializer的种子方法之前完成,迁移步骤中的一些数据依赖于种子数据。
有没有办法获得初始数据库,没有任何迁移,加上初始化程序的种子数据?或者我们是否需要将关键数据移至InitialCreate mirgations Up方法?
在此阶段无法清除生产数据库,因此我们需要将所有新生产数据添加到迁移步骤。
<小时/> 编辑最后,我们只是将受影响的数据移动到迁移中的Up方法,而不是我想要的方式,但我们的时间很短,这解决了问题。
答案 0 :(得分:0)
迁移还有一个Seed方法,您可以覆盖在Up()方法之后发生的方法。如果数据可能存在,您可以使用AddOrUpdate命令。 http://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part-3