无法加载 Entity Framework 提供程序类型 'Oracle.ManagedDataAccess.EntityFramework'
The Entity Framework provider type 'Oracle.ManagedDataAccess.EntityFramework' could not be loaded
我正在尝试在 MVC 应用程序中使用 Entity Framework v6 使用 Oracle 数据 Provider.NET (ODP.NET) 连接到 Oracle。
我已经从这里安装了 ODP.NET:
https://www.nuget.org/packages/odp.net.entityframework/6.121.1-beta
我已将 web.config 文件配置如下:
<connectionStrings>
<add name="MyDB" connectionString="User ID=MyUser;Password=MyPassword;Data Source=MyDatabase; Persist Security Info=False" providerName="Oracle.ManagedDataAccess" />
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</providers>
</entityFramework>
但是,当我尝试调用我的 EF 上下文时,出现以下错误:
The Entity Framework provider type 'Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' registered in the application config file for the ADO.NET provider with invariant name 'Oracle.ManagedDataAccess.EntityFramework' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application
我花了很多时间寻求这方面的帮助。非常感谢任何帮助!
谢谢!
马丁
将此部分添加到 web.config 以及上述步骤似乎已解决此问题:
<system.data>
<DbProviderFactories>
<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.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
可能是你的框架问题。请通过右键单击项目来检查您的框架--> 属性检查它是 4.5 版本。
然后右键单击 Refrences--> Manage NuGet Package.. 转到 nuget.org 并在搜索中输入“Official Oracle ODP.NET”盒子。并安装 Official Oracle ODP.NET、Managed Entity Framework.
官方 Oracle ODP.NET,托管驱动程序。
用于 .Net 的 Oracle 数据提供程序 x84/x64.
谢谢你
我正在尝试在 MVC 应用程序中使用 Entity Framework v6 使用 Oracle 数据 Provider.NET (ODP.NET) 连接到 Oracle。
我已经从这里安装了 ODP.NET: https://www.nuget.org/packages/odp.net.entityframework/6.121.1-beta
我已将 web.config 文件配置如下:
<connectionStrings>
<add name="MyDB" connectionString="User ID=MyUser;Password=MyPassword;Data Source=MyDatabase; Persist Security Info=False" providerName="Oracle.ManagedDataAccess" />
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</providers>
</entityFramework>
但是,当我尝试调用我的 EF 上下文时,出现以下错误:
The Entity Framework provider type 'Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' registered in the application config file for the ADO.NET provider with invariant name 'Oracle.ManagedDataAccess.EntityFramework' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application
我花了很多时间寻求这方面的帮助。非常感谢任何帮助!
谢谢!
马丁
将此部分添加到 web.config 以及上述步骤似乎已解决此问题:
<system.data>
<DbProviderFactories>
<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.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
可能是你的框架问题。请通过右键单击项目来检查您的框架--> 属性检查它是 4.5 版本。
然后右键单击 Refrences--> Manage NuGet Package.. 转到 nuget.org 并在搜索中输入“Official Oracle ODP.NET”盒子。并安装 Official Oracle ODP.NET、Managed Entity Framework.
官方 Oracle ODP.NET,托管驱动程序。
用于 .Net 的 Oracle 数据提供程序 x84/x64.
谢谢你