Asp.net mvc 实体框架提供程序类型';Oracle.ManagedDataAccess.EntityFramework';无法加载
我正在尝试在MVC应用程序中使用Entity Framework v6使用Oracle Data Provider.NET(ODP.NET)连接到Oracle 我已经从这里安装了ODP.NET: 我已将web.config文件配置如下:Asp.net mvc 实体框架提供程序类型';Oracle.ManagedDataAccess.EntityFramework';无法加载,asp.net-mvc,entity-framework,odp.net,Asp.net Mvc,Entity Framework,Odp.net,我正在尝试在MVC应用程序中使用Entity Framework v6使用Oracle Data Provider.NET(ODP.NET)连接到Oracle 我已经从这里安装了ODP.NET: 我已将web.config文件配置如下: <connectionStrings> <add name="MyDB" connectionString="User ID=MyUser;Password=MyPassword;Data Source=MyDatabase; Per
<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上下文时,出现以下错误:
实体框架提供程序类型“Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices,Oracle.ManagedDataAccess.EntityFramework,版本=6.121.1.0,区域性=中性,无法加载在ADO.NET提供程序的应用程序配置文件中注册的PublicKeyToken=89b483f429c47342,其固定名称为“Oracle.ManagedDataAccess.EntityFramework”。确保使用了程序集限定名称,并且运行的应用程序可以使用该程序集
我花了很多时间来寻求帮助。非常感谢您的帮助
谢谢
Martin将此部分添加到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>
您的框架可能存在问题。请右键单击project-->属性检查框架是否为4.5版本 然后右键单击引用-->管理NuGet包。。转到nuget.org,在搜索框中键入“官方Oracle ODP.NET”。并安装正式的Oracle ODP.NET托管实体框架。
官方Oracle ODP.NET,托管驱动程序。 用于.Net x84/x64的Oracle数据提供程序
谢谢我删除了对Nuget软件包的引用,并将DLL直接复制到我的应用程序的bin文件夹中,并在那里设置了对它们的引用。应用程序现在抛出以下错误:“找不到请求的.Net Framework数据提供程序。它可能未安装。”(我觉得DLL已安装!我可以在引用中看到它,它显示在对象浏览器中)如果它对任何人都有帮助,我无法通过从TNSNAMES中指定TNS名称连接到Oracle,连接字符串中的ORA。我想把下面的内容粘贴到连接字符串中:你救了我一天!谢谢