如何使用EntityFramework Code首先迁移种子数据

Gui*_* R. 18 asp.net entity-framework ef-code-first ef-migrations

嗨我正在使用这个nuGet包的Beta 1版本,数据库已经全部创建,我需要知道是否有办法通过迁移来填充我的表.Thanxs

Bet*_*tty 18

介绍文章展示了如何种子数据 http://blogs.msdn.com/b/adonet/archive/2011/11/29/code-first-migrations-beta-1-no-magic-walkthrough.aspx

种子数据:覆盖此类中的Seed方法以添加种子数据. - 迁移到最新版本后将调用Seed方法. - 您可以使用DbContext.AddOrUpdate()辅助扩展方法来避免创建重复的种子数据.例如

myContext.AddOrUpdate(c => c.FullName,
  new Customer { FullName = "Andrew Peters", CustomerNumber = 123 },
);
Run Code Online (Sandbox Code Playgroud)

  • 我正在实现答案,我注意到我确实可以在配置文件中编写种子,但每次我使用Update-Database代码时,这些种子都会在每次填充数据库时填充!:( ...我尝试在迁移文件上添加种子,但我认为它不会那样工作.你能帮我解决这个问题,我只想让这些种子填充我的db一次而不是每次我去Update-Database ,thanxs朋友 (3认同)
  • 这有点过时了.例如,这个帖子不再存在.http://stackoverflow.com/questions/9342459/best-way-to-incrementally-seed-data-in-entity-framework-4-3上的答案很好 (3认同)
  • 您可以在此时访问上下文,您可以轻松地在代码块周围包装myContext.Tablename.Any(). (2认同)