1

我已经下载了 nuget.org 上提供的 EntityFramework 6 和 EntityFramework.IBM.DB2 (6.0.1),并且还安装了 Visual Studio 2015 的 IBM 插件。

在 EDMX 创建期间,我收到以下错误(安装 EntityFramework.IBM.DB2 后已在 readme.txt 文件中指定)

限制:

  1. MS EF 工具的一个已知问题,如果应用程序在 EDM 创建期间使用我们的“IBM 数据服务器 EF 6 提供程序”以 x64 平台为目标,它将看到“您的项目引用了最新版本的实体框架;但是,实体框架数据库提供程序找不到与此版本兼容的数据连接。如果您已经安装了兼容的提供程序,请确保在执行此操作之前已重建项目。否则,请退出此向导,安装兼容的提供程序,并在执行之前重建项目此操作”例外。

可能的解决方法:

i) 将 EF 模型移动到其自己的可编译为 Any CPU 的项目中,然后将该项目添加为 x64(64 位)启动项目的依赖项。

ii) 将应用程序定位到任何 CPU 平台。

我曾尝试过使用这些变通方法,但无法完全理解如何继续使用它们。

任何人都可以详细解释解决方法。我知道要求解释如何执行它们似乎很愚蠢。我知道他们做起来很简单,因为它已经说过需要做什么。只是想知道它是怎么回事。抱歉问了这么愚蠢的问题。

谢谢你。

编辑1: 我创建了一个新项目。安装了 EF 6.1.3 和 EntityFramework.IBM.DB2 6.0.4。内置解决方案。将配置管理器中的目标构建到“任何 CPU”。但是仍然设法找到相同的问题 在此处输入图像描述

4

1 回答 1

0

在创建 EDMX 时,您只需要将项目定位到任何 CPU。成功创建 EDMX 后,您可以将项目改回 x64。

如果您不确定“定位”特定平台的含义,只需在配置管理器中进行控制,并且可以通过 Visual Studio 顶部的下拉菜单进行控制。

平台目标下拉列表

在您的项目中创建 EDMX 之前,切换到任何 CPU 并首先重建项目。成功创建 EDMX 后,您可以毫无问题地自由切换回目标 x64。

于 2016-04-20T18:03:54.320 回答