我使用 Visual Studio 2012、.NET 4.5 和 Entity Framework 5.0 创建了一个 MVC 3.0 应用程序。
使用 Code First 数据迁移,我能够正确地将模型更改传播到我的本地测试数据库,但是在使用 Web Deploy 部署到我的登台和生产服务器时,我无法弄清楚如何让它工作。
我已阅读以下文章...
http://msdn.microsoft.com/en-us/library/dd394698(v=vs.110)#dbdacfx
...这解释了应该发生的事情,但它对我不起作用,因为 Web Deploy 似乎无法检测到我正在使用实体框架。本教程显示了一个复选框以启用 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>
任何建议将不胜感激。
谢谢,
蒂姆