Asp.net mvc 执行代码优先迁移

Asp.net mvc 执行代码优先迁移,asp.net-mvc,entity-framework-migrations,Asp.net Mvc,Entity Framework Migrations,我已经安装了Windows 8.1 pro,并使用VS 2013社区版将所有MVC项目移至新的工作空间。所有项目都使用代码优先迁移。 数据库发布也使用代码优先迁移完成。在我更新我的机器之前,一切都运转良好 但现在,当我将web应用程序发布到远程服务器时,“发布web”对话框并没有显示“执行代码优先迁移”,而是显示“更新数据库”以更新数据库。 当我关闭它时,它会首先修改DB的发布文件。似乎某些全局设置将其强制为以下代码: <Objects xmlns=""> <

我已经安装了Windows 8.1 pro,并使用VS 2013社区版将所有MVC项目移至新的工作空间。所有项目都使用代码优先迁移。 数据库发布也使用代码优先迁移完成。在我更新我的机器之前,一切都运转良好

但现在,当我将web应用程序发布到远程服务器时,“发布web”对话框并没有显示“执行代码优先迁移”,而是显示“更新数据库”以更新数据库。 当我关闭它时,它会首先修改DB的发布文件。似乎某些全局设置将其强制为以下代码:

 <Objects xmlns="">
        <ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
          <Destination Path="" />
          <Object Type="DbDacFx">
            <PreSource Path="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MVC-20140923125211.mdf;Initial Catalog=MVC-20140923125211;Integrated Security=True" includeData="False" />
            <Source Path="$(IntermediateOutputPath)AutoScripts\DefaultConnection_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
          </Object>
          <UpdateFrom Type="Web.Config">
            <Source MatchValue="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MVC-20140923125211.mdf;Initial Catalog=aspnet-MVC-20140923125211;Integrated Security=True" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
          </UpdateFrom>
        </ObjectGroup>
      </Objects>

奇怪的是,为什么我的所有项目都没有显示“执行代码优先迁移”

这种行为也适用于我的所有其他项目

App_数据数据库也未打开。因此,我将connectionString'datasource从数据源=(LocalDb)\v11.0更改为数据源=(LocalDb)\MSSQLLocalDB(MSSQL Sever 2014 express)。不过,更改数据源对打开数据库起到了作用

我尝试了以下解决方案:

  • 我试过这个:
  • 启用迁移-强制
  • 清理、重建并重新启动项目和 Visual Studio
  • 删除并重新导入发布文件
几个月前我尝试过解决方案。那时候,上面的几点都起作用了,但现在什么都不起作用了


有什么解决办法吗?我浪费了一整天的时间,仍然没有找到解决方案。

您需要安装Visual Studio update 4。转到“工具”下的“扩展和更新”。

您可能会发现以下内容很有帮助:


我自己仍在试图找到一种简单的方法来处理迁移

我找到了一个临时解决方案。在没有名称空间的情况下手动将所有ConnectionString名称(Defaultconnection)替换为上下文名称“ApplicationDbContext”,解决了此问题。

VS 2013 Community Edition已随更新4提供。不过我查过了。它的显示已经与更新4。