【问题标题】:Entity Framework 5 mixing Oracle & SQL ServerEntity Framework 5 混合 Oracle 和 SQL Server
【发布时间】:2014-08-18 23:19:47
【问题描述】:

我有 2 个数据层 DLL 项目。一个是访问 Oracle 表,另一个是 SQL Server。在单独的项目中使用时,它们各自独立工作。

当我创建一个包含两个 DLL 的项目时,查询 Oracle 表时出现以下错误:

指定的架构无效。错误:Model.ssdl(2,48):错误 0172:
所有 SSDL 工件都必须针对同一个提供程序。提供者 'Oracle.ManagedDataAccess.Client' 不同于 之前遇到的“Oracle.ManagedDataAccess.Client”。 Model.ssdl(2,81):错误 0169:所有 SSDL 工件必须针对相同 提供者。 ProviderManifestToken '2008' 不同于 '11.2' 之前遇到过。

疯狂的是,在我的 1 个包含 2 个数据层项目的项目中,如果我注释掉一个使用 SQL Server 数据层的函数(即使此时它实际上从未被调用),那么它就可以工作。不知何故,它的代码的存在导致了上面的这个错误。如何混合使用 SQL Server 和 Oracle 实体框架?

【问题讨论】:

标签: .net sql-server oracle entity-framework


【解决方案1】:

当我将 Oracle 数据库连接和查询移到单独的方法中时,我的代码开始工作。

我的印象是我应该为所有查询保持 Oracle 连接打开,否则效率会很低,但apparently 这实际上是在后台自动完成的。既然这两个连接的范围是完全独立的,它就可以工作了。

为什么?不知道...

【讨论】:

  • 我过去做过这个。我做了一个基类,我的两个人都会继承它。他们实现了自己的数据库连接,但使用的是基类中的对象 IConnection。当然,您必须尽快关闭连接,并且当时只有一个。
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
  • 1970-01-01
  • 2014-10-04
  • 2012-06-09
相关资源
最近更新 更多