我为一家公司编写了一个使用EF code first 6
和SQL Server 2008R2
的项目,现在该公司想将其数据库切换到Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
,
- 我如何找到合适的
ODP.NET
或ODAC
版本? - 我可以使用
ODAC 12c
或任何其他版本的Oracle 10g
或每个Oracle
版本有自己的ODAC
版本?
您可以依赖最新版本的odp.net托管驱动程序,但要注意某些功能可能在您的10g上不可用(如APPLY)
ODAC 12c Release 2中。net Release 12.1 Oracle Data Provider的变化 支持APPLY关键字语言集成查询(LINQ)是一种。net查询语言。在运行时,LINQ在查询数据库之前被转换为本地数据库SQL。在某些情况下,LINQ在其SQL转换中使用非标准的APPLY关键字来检索横向视图。Oracle数据库和ODP。. NET在Oracle Database 12c Release 1(12.1)中支持APPLY关键字,以更全面地支持LINQ
另一方面,oracle没有官方支持EF code first(链接)此外,odp.net与EF6不兼容,所以你现在必须瞄准EF5(链接)
在一天结束的时候,你需要依靠这两个
中的任何一个- 实体框架5和Odp。Net(免费,但没有官方支持的代码优先)
- 实体框架6和Devart点连接(付费但完整代码优先支持)
就我而言,我已经成功地实现了基于如下场景的解决方案
- Oracle数据库(11g)
- Odp.net管理驱动程序通过nuget (121.1.1)
- Odac客户端不需要安装 实体框架5