实体框架迁移种子和 ContextInitializer 种子有什么区别?
Entity-Framework what is the difference between Migrations Seed and ContextInitializer Seed?
我在学校学习 EF,目前正在使用 EF 5、MVC 5,我无法理解 Migrations 和 ContextInitializer。
我正在关注这个 guide because I find it more suited for my project. I did read and almost build the updated guide 但是,因为我使用的是稍旧的 EF5,所以我无法让它工作。
我的问题是:在较新的 EF6 指南中,这个 Migrations.cs 有一个 Seed 方法,在较旧的 EF5 指南中,Seed 方法在 [Model]ContextInitializer 中,两者的最佳实践是什么?
我确实知道迁移在使用程序包管理器控制台中的 Enable-Migrations
Add-Migration MyTitle
和 Update-Database
命令更新数据库方面要好一些。
如果这是一个愚蠢的问题,请原谅我。
迁移 Seed
方法用于在数据库迁移后立即播种数据,DB Initializer Seed
方法用于在数据库初始化后立即播种数据。
您可以使用 Db Initialize Seed
方法在 Initialization 之后立即将初始数据添加到 DB,但是您可以使用 Migration Seed
方法来检查 and/or 在迁移.
之后立即添加新数据或做一些特殊的事情
这可能有点令人困惑,但如果你仔细想想,你就会很好地理解它。这些是不同的情况。
我在学校学习 EF,目前正在使用 EF 5、MVC 5,我无法理解 Migrations 和 ContextInitializer。
我正在关注这个 guide because I find it more suited for my project. I did read and almost build the updated guide 但是,因为我使用的是稍旧的 EF5,所以我无法让它工作。
我的问题是:在较新的 EF6 指南中,这个 Migrations.cs 有一个 Seed 方法,在较旧的 EF5 指南中,Seed 方法在 [Model]ContextInitializer 中,两者的最佳实践是什么?
我确实知道迁移在使用程序包管理器控制台中的 Enable-Migrations
Add-Migration MyTitle
和 Update-Database
命令更新数据库方面要好一些。
如果这是一个愚蠢的问题,请原谅我。
迁移 Seed
方法用于在数据库迁移后立即播种数据,DB Initializer Seed
方法用于在数据库初始化后立即播种数据。
您可以使用 Db Initialize Seed
方法在 Initialization 之后立即将初始数据添加到 DB,但是您可以使用 Migration Seed
方法来检查 and/or 在迁移.
这可能有点令人困惑,但如果你仔细想想,你就会很好地理解它。这些是不同的情况。