【发布时间】:2016-02-25 06:49:14
【问题描述】:
我有标准的 asp.net mvc 应用程序,并首先使用实体框架代码,并将存储库作为后端。没有挂起的迁移,当我执行应用程序时一切正常。
我添加了一个云服务项目(具有一个工作角色)并使用了与我的 asp.net mvc 应用程序一起使用的相同 dbcontext,但是当我在 azure 模拟器上运行云服务时,它会抛出异常,指出 db 模型是改变了,我需要添加迁移和更新数据库。
支持“xDbContext”上下文的模型在创建数据库后发生了变化。考虑使用 Code First 迁移来更新数据库
案例 1:当我添加迁移时,它给了我一些我已经执行的更改,并且可以在数据库中看到它们。
案例 2:当我从我的 Web 应用程序添加迁移时,它会创建一个空迁移。
为什么相同的 dbcontext 在一个解决方案中的不同项目下表现不同?我觉得这很奇怪还是我错过了什么?
如果您能指导我到某个地方,我将不胜感激。 谢谢
【问题讨论】:
-
两种情况都针对同一个数据库实例运行?
-
是的。我有一个类库,其中包含我的实体、数据库配置和 dbContext 类,它被添加为两个项目的引用。
-
使用该库的两个项目是否引入了相同版本的实体框架?也许这是一个愚蠢的问题,但我认为这只能是一些愚蠢的错误。在一种情况下,EF 要求的更改并非微不足道,对吧?我们说的是 ALTER TABLE 语句,是吗?
-
您是否 100% 确定两者都指向同一个数据库?您的连接字符串在两个项目中是什么样的?
-
@AliBaig 谢谢,我发现
EF的版本不一样,升级到6.1.3后就可以了。
标签: c# asp.net-mvc entity-framework azure-worker-roles entity-framework-migrations