【问题标题】:How to Use Entity Framework 4 with Visual Studio 2013如何在 Visual Studio 2013 中使用 Entity Framework 4
【发布时间】:2013-11-12 07:18:56
【问题描述】:

我们最近将 Visual Studio 从 2010 升级到 2013。随之而来的是 EF 6.0,它与从 EF 4 生成的代码不兼容。

我需要使用数据库架构中的最新版本更新模型中的表。这样做时,删除表定义后的“更新”和“添加”都执行以下操作:

  • 删除已为模型中所有类型编写的所有自定义代码,即使它们位于与模型不同的文件中;
  • 生成新的 EF 6.0 绑定;
  • (可选)生成新的存储库。 现在,这显然与 EF 4 中的行为不同,后者仅重新生成了存储库,并没有触及自定义代码。

我们没有使用 NuGet,而是在项目中引用 EF 库。

我猜 VS 2013 使用的代码生成器版本与 VS 2010 不同。我们如何才能恢复到旧的行为?

更新: 我尝试使用 NuGet 下载 EF 4.3.1 并重复更新模型步骤(也删除然后重新创建),但我仍然看到旧行为。我认为 VS 2013 EF 代码生成器存在问题。

【问题讨论】:

  • 我也有类似的问题,太烦人了。

标签: visual-studio-2010 entity-framework entity-framework-4 visual-studio-2013


【解决方案1】:

对我来说,以下解决方案有效。

双击您的 edmx 文件并打开其属性窗口。将 Code Generation StrategyT4 更改为 Legacy Object Context。构建您的解决方案。它可能会导致数千个错误,因为您重新声明了函数和属性,因此请删除以前不存在的所有文件。

【讨论】:

  • 我更喜欢永久解决方案。每次从数据库更新模型时,我都会重置此值。
猜你喜欢
  • 2023-03-18
  • 1970-01-01
  • 2015-03-15
  • 2014-03-28
  • 1970-01-01
  • 1970-01-01
  • 2014-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多