我已經使用Visual Studio 2012,.NET 4.5和Entity Framework 5.0創建了一個MVC 3.0應用程序。實體框架代碼首先數據遷移不適用於VS2012 Web部署
使用代碼優先數據遷移,我能夠正確地將模型更改傳播到本地測試數據庫,但我無法弄清楚如何在使用Web部署部署到分段和生產服務器時使其發揮作用。
我看了下面的文章......
http://msdn.microsoft.com/en-us/library/dd394698(v=vs.110)#dbdacfx
...這也解釋了什麼是應該發生的,但它不是爲我工作,爲Web部署似乎無法檢測到我使用實體框架。本教程顯示了一個複選框啓用的Code First遷移的執行...
...但我的對話框中顯示的唯一Update Database
複選框爲每個數據庫。
我已經讀過,爲了使Visual Studio檢測到使用實體框架上下文,Web.config
必須包含一個定義它的元素。這裏是我的:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<contexts>
<context type="MyContext, MyAssembly">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[MyContext, MyAssembly], [MyConfig, MyAssembly]], EntityFramework">
<parameters>
<parameter value="MyConnectionStringName"/>
</parameters>
</databaseInitializer>
</context>
</contexts>
</entityFramework>
任何意見將不勝感激。
感謝,
添
關懷給我們的分歧破敗? –
@Richard:在內,新創建的配置文件包含許多其他元素,每個元素表示一個上下文類。我假設有某種發現過程在Web Deploy首次執行時運行,而不是作爲VS2012解決方案轉換的一部分執行。 –