相同的DbContext在解决方案中的不同项目下表现不同

时间:2016-02-25 06:49:15

标签: c# asp.net-mvc entity-framework azure-worker-roles ef-migrations

我有标准的asp.net mvc应用程序,并首先使用实体​​框架代码,将存储库作为后端。没有挂起的迁移,当我执行应用程序时一切正常。

我添加了一个云服务项目(带有一个辅助角色),并使用了我在asp.net mvc应用程序中使用的相同dbcontext但是当我在azure模拟器上运行云服务时,它会抛出异常,说db模型是已更改,我需要添加迁移和更新数据库。

  

支持' xDbContext'自创建数据库以来,上下文已更改。考虑使用Code First Migrations来更新数据库

案例1:当我添加迁移时,它会给我一些我已经执行的更改,并且可以在数据库中看到它们。

案例2:当我从我的Web应用程序添加迁移时,它会创建一个空迁移。

为什么同一个dbcontext在一个解决方案中的不同项目下表现不同?我觉得这很奇怪,还是我错过了什么?

如果你能指导我,我真的很感激。 感谢

1 个答案:

答案 0 :(得分:0)

不确定,但请记住使用哪个数据库取决于正在运行的程序集的配置文件。因此,以云身份运行将使用云配置,运行Web项目将使用Web配置。甚至运行单元测试也会使用单元测试项目中的配置文件。