繁体   English   中英

ADO.NET实体框架 - 带有实体框架6的Oracle

[英]ADO.NET Entity Framework - Oracle with Entity Framework 6

我正在尝试将ADO.NET实体数据模型添加到使用Oracle数据库(ODP.NET)的解决方案中,但是我收到以下错误:

“您的项目引用了最新版本的Entity Framework;但是,找不到与此版本兼容的Entity Framework数据库提供程序。如果您已经安装了兼容的提供程序,请确保在执行此操作之前重新构建了项目。否则,请在执行此操作之前退出此向导,安装兼容的提供程序并重建项目。“

该对话框还说它正在尝试使用Entity Framework 6.x.

我正在使用Visual Studio 2013,它是一个ASP.NET MVC 5 Web应用程序。 我为Windows x64安装了64位ODAC 12c Release 3(12.1.0.2.1)。

您必须使用适用于Visual Studio的Oracle Developer Tools安装32位Oracle数据访问组件(ODAC)。
您可以从Oracle网站下载它。

我遇到了同样的问题, 在这里写了一个关于它的问题 ,这是因为我的App.Config文件包含与不同的Oracle托管驱动程序DLL版本相关的绑定信息,并且有一个简单的解决方案来解决这个错误:)

我只是从App.config文件中删除此版本特定数据并重建应用程序。

而不是:

  <system.data>
<DbProviderFactories>
  <remove invariant="Oracle.ManagedDataAccess.Client"/>
  <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</DbProviderFactories>

这将是 :

  <system.data>
<DbProviderFactories>
  <remove invariant="Oracle.ManagedDataAccess.Client"/>
  <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess"/>
</DbProviderFactories>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM