ODP.NET非托管和EntityFramework:创建ADO.NET模型时出错
ODP.NET非托管和EntityFramework:创建ADO.NET模型时出错,.net,entity-framework,ado.net,odp.net,odac,.net,Entity Framework,Ado.net,Odp.net,Odac,我需要在ASP.NET MVC项目中首先使用ADO.NET和非托管的ODP.NET创建一个db模型。 我已经安装了ODAC 12C软件包(12.2.0.1)。 我已经安装了EF6 nuget,并在项目中引用了DLL Oracle.DataAccess和Oracle.DataAccess.EntityFramework。 我必须使用Oracle.DataAccess.Client,因为我需要定义UDT,所以我使用以下设置了我的web.config: <configSection>
我需要在ASP.NET MVC项目中首先使用ADO.NET和非托管的ODP.NET创建一个db模型。
我已经安装了ODAC 12C软件包(12.2.0.1)。
我已经安装了EF6 nuget,并在项目中引用了DLL Oracle.DataAccess和Oracle.DataAccess.EntityFramework。
我必须使用Oracle.DataAccess.Client,因为我需要定义UDT,所以我使用以下设置了我的web.config:
<configSection>
...
<section name="Oracle.DataAccess.Client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSection>
<entityFramework>
<providers>
...
<provider invariantName="Oracle.DataAccess.Client" type="Oracle.DataAccess.EntityFramework.EFOracleProviderServices, Oracle.DataAccess.EntityFramework, Version=6.121.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<add name="ODP.NET, Unmanaged Driver" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=6.121.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</DbProviderFactories>
</system.data>
...
...
当我尝试添加ADO.NET模型时,我无法选择EF6,另一个选项不可选择,它会生成一个错误:
该项目指的是EF的最新版本。但是,找不到与正在使用的数据连接的此版本兼容的EF数据库提供程序。如果已安装提供程序,请确保在执行此操作之前已重新编译项目。否则,请退出向导,安装兼容的提供程序并在执行此操作之前重新编译项目
提前感谢很难理解错误消息的含义。你们能用英语提供本地化服务吗?将错误翻译成英语,并以文本而不是图像的形式发布。过去,无论是托管的还是非托管的,它都适用于我。但我相信oracle客户端安装的是非托管的,而不仅仅是ODAC。不要太相信UDT。因为oracle只在这个意义上使用数组。这是不言自明的。项目引用中的EF版本与连接提供程序不兼容。如果情况并非如此,并且您有正确的提供程序,请在执行操作之前编译项目,这将导致此错误