如何通过重写Seed方法将数据库与EF模型同步?

时间:2013-03-12 14:13:08

标签: c# entity-framework code-first

我是EF Code First方法的新手并且提出了一个问题。 我使用上面提到的方法创建了一个示例SQL数据库。它按预期工作。 我的问题是如何在模型更改时更新我的​​表格? 我已阅读并浏览网页,最后以下解决方案得出结论: 1. DropCreateDatabaseIfModelChanges 2. DropCreateDatabaseAlways 3. CreateDatabaseIfNotExists 4.在PM控制台中使用启用迁移功能,遗憾的是处理了大量语法错误! 我知道我需要覆盖可以从DropCreateDatabaseAlways继承的Seed方法。我知道我必须在这个方法中创建对象并将它们添加到上下文中。但是......如果我的客户表包含100条记录怎么办? 我是否必须获取它们并使用循环将它们添加到上下文中?我不知道,但对我来说似乎不合理!

我感谢任何人都能给出一个好的解决方案。谢谢你

1 个答案:

答案 0 :(得分:1)

我不得不说我个人认为最简单的方法是使用迁移。我使用这里提到的方法,标题为“你的第一次自动迁移”:

http://weblogs.asp.net/fredriknormen/archive/2012/02/15/using-entity-framework-4-3-database-migration-for-any-project.aspx

(即使文章说4.3,我也使用EF 5.0,没有区别)