我正在使用以下项目构建解决方案:
Main.Data
- 班级图书馆项目Main.API
- Asp.NET MVC WebApi - 引用Main.Data Main
- Asp.NET MVC 4 Web应用程序 - 引用Main.API 我在MyContext : DbContext
项目中有一个Main.Data
类。
我还成功地在enable-migrations
项目上发出了Main.Data
控制台命令,并且我成功地将LocalDB用作我的数据和upgrade-database
迁移的SQL服务器。
当我尝试将Main
项目发布到Windows Azure网站时,问题就开始了。
使用Import from a Windows Azure web site
自动创建的发布配置文件似乎无法识别我正在使用Entity Framework Code First解决方案,因此我无法按照我的意愿启用Execute Code First Migrations
。
相反,我只能启用Update database
脚本。
我正在使用Visual Studio 2012和Entity Framework 5.0.0(自项目开始以来)。
为了验证,我尝试在MyContext
项目中添加一个临时Main
类,并在enable-migrations
项目中添加Main
,之后我的发布配置文件自动检测实体框架代码优先。
那当然不是解决方案(或者是?)
以下是一些相关主题:
我正在寻找一个干净稳定的解决方案。我是否必须将我的Context类放在主项目中?
提前致谢
答案 0 :(得分:10)
我现在可以在创建发布配置文件时启用Execute Code First Migrations
以下是我为实现这一目标所做的工作:
Main/Web.config
内部,我将连接字符串的名称更改为上下文类的FQN:Main.Data.MyContext
。Main
项目的引用添加到Main.Data
项目(直到现在才需要)。这对我有用。
如果有人得到更好或更有教育意义的答案,我会很高兴听到。