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