MVC 4 DbContext Enable-Migrations在Configuration.cs中重写种子代码

时间:2012-09-10 23:41:47

标签: asp.net-mvc entity-framework asp.net-mvc-4

我正在尝试在新的MVC 4项目中首先执行代码,并且有一个“journal”mvc,它可以很好地工作,并且它的Seed函数也可以在/Migrations/Configuration.cs中运行。但是,当我开始在AccountModels.cs中使用UserProfile模型然后使用Enable-Migrations时,我丢失了日记模型的所有种子代码,并将其替换为UserProfile的shell。 :(

当首先使用代码并拥有多个模型时,不可避免地都有自己的DbContext(除非它们都应该共享一个?)如何保留每个DbContext和模型的种子代码?

我很震惊以前没有其他人遇到过这个问题。在执行Enable-Migrations命令时,我根本不希望每次在代码第一个mvc项目中使用包管理器控制台时重写Configuration.cs,或者至少为什么每个dbcontext都不能拥有自己的configuration.cs,或者什么!看起来我可能很快就会提供赏金。

1 个答案:

答案 0 :(得分:1)

好的,我想出来了。诀窍是在创建后重命名Configuration.cs类。然后,稍后当您添加新迁移并执行更新时,请指定配置,如下所示。

启用 - 迁移--ContextTypeName LDN.Models.Cohort

add-migration -ConfigurationTypeName LDN.Migrations.ConfigurationCohort CohortInitial

update-database -verbose -Configuration LDN.Migrations.ConfigurationCohort