EPL*_*ens 13 asp.net-mvc-4 ef-migrations entity-framework-5
我正在使用Web部署首先使用EF5代码部署MVC4应用程序.我创建了一个名为"development"的发布配置文件,它使用"执行代码优先迁移"复选框对应用程序和数据库进行Web部署,以便在应用程序启动时运行迁移.出版工作有一段时间了.在某些时候,我添加了一个名为"test"的新发布配置文件,以部署到另一台服务器,该服务器使用部署的ftp方法而不进行自动迁移.这也很好.但是,当我再次尝试使用旧的"开发"发布配置文件时,VS会自动将设置更改为dbDacFx方式("更新数据库"复选框而不是"执行代码优先迁移"),我无法将其恢复为它的方式.使用"测试"时,项目还有一些其他变化 配置文件,但在我看来,没有任何东西可以导致这一点.有谁知道为什么VS认为我的项目不再使用代码了?
EPL*_*ens 10
自从提出这个问题以来,我已经在多个版本的MVC和EF中多次遇到这个问题(所有代码首先通过cource).如果发生这种情况,请不要将更改保存到发布配置文件,请确保您使用的是"调试"构建配置,清洁解决方案和重建解决方案.如果一切都失败了,请重新启动Visual Studio并重试.到目前为止,这一直是我解决问题的方法.
小智 5
这是正确的答案- 为我解决了问题。只需将您的连接字符串重命名为您的 DbContext,例如
public ApplicationDbContext()
: base("Vocabulary.Domain.ApplicationDbContext", throwIfV1Schema: false)
{
}
Run Code Online (Sandbox Code Playgroud)
请注意,名称应包括名称空间,如“Vocabulary.Domain.ApplicationDbContext”。不要忘记更新 .pubxml 文件:
<ObjectGroup Name="Vocabulary.Domain.ApplicationDbContext" Order="1" Enabled="True">
Run Code Online (Sandbox Code Playgroud)
该文章介绍了在发布对话框中有或无蜱“执行代码首先迁移(在应用程序启动运行)”
| 归档时间: |
|
| 查看次数: |
4786 次 |
| 最近记录: |