Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 同一DbContext在解决方案中的不同项目下表现不同_C#_Asp.net Mvc_Entity Framework_Azure Worker Roles_Entity Framework Migrations - Fatal编程技术网

C# 同一DbContext在解决方案中的不同项目下表现不同

C# 同一DbContext在解决方案中的不同项目下表现不同,c#,asp.net-mvc,entity-framework,azure-worker-roles,entity-framework-migrations,C#,Asp.net Mvc,Entity Framework,Azure Worker Roles,Entity Framework Migrations,我有标准的asp.net mvc应用程序,首先使用实体框架代码,将存储库作为后端。没有挂起的迁移,当我执行应用程序时,一切正常 我添加了一个云服务项目(具有一个工作者角色),并使用了与我的asp.net mvc应用程序相同的dbcontext,但当我在azure emulator上运行云服务时,它抛出异常,表示数据库模型已更改,我需要添加迁移和更新数据库 自创建数据库以来,支持“xDbContext”上下文的模型已更改。考虑使用代码第一迁移来更新数据库 案例1:当我添加迁移时,它会给我一些我已经

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

我添加了一个云服务项目(具有一个工作者角色),并使用了与我的asp.net mvc应用程序相同的dbcontext,但当我在azure emulator上运行云服务时,它抛出异常,表示数据库模型已更改,我需要添加迁移和更新数据库

自创建数据库以来,支持“xDbContext”上下文的模型已更改。考虑使用代码第一迁移来更新数据库

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

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

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

如果你能给我指路,我将不胜感激。
谢谢,我不太确定,但请记住,使用哪个数据库取决于正在运行的程序集的配置文件。因此,作为云运行将使用云配置,而运行web项目将使用web配置。甚至运行单元测试也会使用单元测试项目中的配置文件

两种情况都针对同一数据库实例运行?是。我有一个类库,其中包含我的实体、db配置和dbContext类,作为对这两个项目的引用添加。使用该库的两个项目是否都引入了相同版本的entity framework?也许这是一个愚蠢的问题,但我认为这只能是一个愚蠢的错误。在一个案例中,EF需求的变化不是微不足道的,对吗?我们谈论的是ALTER TABLE语句,是吗?你100%确定两者都指向同一个数据库吗?在两个项目中,你的连接字符串是什么样子的?@AliBaig谢谢,我发现升级到6.1.3后,
EF
版本不一样。