【问题标题】:ASP-MVC Code-first migrations checkbox not activeASP-MVC 代码优先迁移复选框未激活
【发布时间】:2015-06-08 20:31:31
【问题描述】:

我正在使用 VS Community 2013。我正在尝试通过网络部署一个 ASP-MVC 应用程序。我可以部署应用程序,但它无法创建数据库。当我设置 Web 部署时,“执行代码首先迁移(在应用程序启动时运行)”复选框在我的上下文中是灰色的。它对“ApplicationDbContext (DefaultConnection)”有效。

我在包管理器控制台中尝试了enable-migrations。我收到了一些信息丰富的消息,这些消息帮助我正确切换。我的命令是

Enable-Migrations -ContextTypeName Gators3.Models.ApplicationDbContext -enableautomaticmigrations

我还注意到关于here 的 Web.config 更改并未进行。事实上,我什至没有<contexts> 部分。

我已经尝试了其他 SO 线程中的一些技巧,例如

"Execute Code First Migrations" checkbox disappeared from my publish profile

Execute Code first Migration

Visual Studio 2012, Publish (Web Deploy) - Code First Migrations not changing web.config

但没有任何帮助。

【问题讨论】:

    标签: asp.net asp.net-mvc ef-code-first webdeploy


    【解决方案1】:

    这发生在我身上。我尝试删除东西,重新启用迁移,重新启动,重新启动 Visual Studio 和 ...

    我放弃了。我现在的 Web.Dev.config 中有以下内容(用于部署到我的开发服务器):

     <entityFramework>
        <contexts xdt:Transform="Insert">
            <context type="LDS.Models.ApplicationDbContext, LDSAssembly">
                <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[ 
     [LDS.Models.ApplicationDbContext, LDSAssembly], 
     [LDS.Migrations.MigrationConfiguration, LDSAssembly]
    ], EntityFramework" />
            </context>
        </contexts>
    </entityFramework>
    

    我无法区分行为方面的差异。我使用新的迁移部署新代码,并且当我的代码执行时架构是最新的。我可能会支付性能损失以确保数据库处于正确的版本,但我与 Entity 的关系太远了,无法为这个项目进行更改。

    【讨论】:

      猜你喜欢
      • 2021-03-26
      • 2013-12-29
      • 2016-05-26
      • 1970-01-01
      • 2013-04-18
      • 2016-01-27
      相关资源
      最近更新 更多