繁体   English   中英

没有实例框架提供程序用于ADO.NET Oracle.ManagedDataAccess.Client没有配置

[英]No Entity Framework Provider for ADO.NET Oracle.ManagedDataAccess.Client Without Config

每当我尝试运行此查询时,我收到以下错误:

var query = from u in StageEntity.STAGINGINTERACTIONPOINTS
  where u.OBJECTID == OBJECT_ID
  select u;

"Schema specified is not valid. Errors: \r\nStagingDB.ssdl(2,2) : error 0152: 
No Entity Framework provider found for the ADO.NET provider
with invariant name 'Oracle.ManagedDataAccess.Client'. 
Make sure the provider is registered in the 'entityFramework' 
section of the application config file. 
See http://go.microsoft.com/fwlink/?LinkId=260882 for more information."

但是,我认为问题是我无法在运行时访问配置文件。 这是因为我的应用程序是ArcObjects扩展,并且由于某种原因忽略了所有不是Config.esriaddinx的Config文件。 因此,在运行时,我从配置文件中获取连接字符串。

这适用于SQL服务器,但我之前没有在Oracle中尝试过这个。 我想知道是否需要包含并在运行时声明Oracle ODP才能工作。

这是我拉和调用的连接字符串:

connection string="DATA SOURCE=(DESCRIPTION=(ADDRESS= (PROTOCOL=TCP) (HOST=examplehost.com)(PORT=1234))(CONNECT_DATA=(SID = sid)));PASSWORD=hunter2;PERSIST SECURITY INFO=True;USER ID=poor_username""

每当我声明一个我做了部分类的实体时,我就会调用这个连接字符串

我还看了另一个有类似问题的堆栈问题,但是我正在运行最新的ODP.net(v 6.121)和实体6,它应该是兼容的。

另外,以下修复:

public partial class StagingEntities : DbContext
{
    private volatile Type _dependency;

    public StagingEntities(string connectionString)
        : base(connectionString)
    {
        _dependency = typeof(System.Data.Entity.SqlServer.SqlProviderServices);

    }
}

不起作用。

您的解决方案:请重新安装NuGet包for Oracle.ManagedDataAccess.Client- https : //www.nuget.org/packages/Oracle.ManagedDataAccess.EntityFramework/

额外信息:我有完全相同的问题,但对于Oracle.DataAccess.Client。 我的问题是:“ 找不到具有不变名称'Oracle.DataAccess.Client'的ADO.NET提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的'entityFramework'部分中注册。请参阅http:// go.microsoft.com/fwlink/?LinkId=260882获取更多信息。

我最近从EF5迁移到EF6。 旧版本的Oracle Managed ODP与EF6不兼容。 安装Oracle.ManagedDataAccess.EntityFramework后 ,我不得不将项目中出现的所有Oracle.DataAccess.Client替换为Oracle.ManagedDataAccess.Client 它工作正常。

几个星期前,我遇到了同样的问题。 我正在使用Entity Framework 6.1.3和ODP最新版本。 我在控制台库(.dll)中使用实体框架并从WCF服务中调用它。

对我有用的解决方案是我必须在WCF服务中为实体框架和ODP提供程序安装nuget包,因为它仅从WCF Web配置引用ODP配置。 (很奇怪,但我必须这样做)。

还读到我们必须仅为控制台库项目执行此操作的地方。

希望这可能对你有所帮助。

对我有用的是将App.config从我的.NET Framework EF项目复制到我的.NET Core MVC项目中。

暂无
暂无

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

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