EF 4.3 Azure和本地Dev之间的行为差异

本文关键字:之间 Dev Azure EF | 更新日期: 2023-09-27 17:57:30

我刚刚将本地运行良好的web应用程序部署到Windows Azure,但我遇到了一个令人困惑的错误。在Azure上,我的代码在以下行失败:

  context.Dogs.Add(entity);

我得到的错误是:

集合已修改;枚举操作可能无法执行

我知道有一个已知的错误(实体框架集合被修改了;枚举操作可能不会执行),但有人知道为什么它在本地可以很好地工作,但在Azure上不行吗?

EF 4.3 Azure和本地Dev之间的行为差异

安装.Net 4.5会对.Net 4.0进行更改,并修复.Net Framework中的错误,即使是针对4.0的应用程序。

这可能包括应用程序演示的行为。

尝试在Azure上以4.5为目标,以确保您部署的应用程序也收到这些修复程序。

除非您部署到具有或可以安装.NET 4.5的环境中,否则您应该永远不要在您的开发PC上安装它,以避免由"静默修复"引起的这些类型的错误。