我正在学习EF,我目前正在使用EF 5,MVC 5,我无法理解迁移和ContextInitializer。
我正在关注这个guide,因为我发现它更适合我的项目。我确实阅读并且几乎构建了更新的guide但是,因为我使用的是稍微旧的EF5,所以我无法使其正常工作。
我的问题是:在较新的EF6指南中,有这个Migrations.cs有一个Seed方法,在旧的EF5指南中,Seed方法在[Model] ContextInitializer中,两者的最佳实践是什么?
我确实理解,在使用程序包管理器控制台中的Enable-Migrations
Add-Migration MyTitle
和Update-Database
命令更新DataBase方面,迁移更好一些。
如果这是一个愚蠢的问题,请原谅我。
答案 0 :(得分:1)
迁移Seed
方法用于在数据库迁移后立即播种数据,DB Initializer Seed
方法用于在数据库初始化后立即播种数据。
您可以使用Db Initialize Seed
方法在初始化后立即向DB添加初始数据,但您可以使用Migration Seed
方法检查和/或添加新数据或者在迁移之后立即做一些特殊的事情。
这可能有点令人困惑,但如果你仔细想想,你会理解它。这些是不同的情况。