我为一家公司写了一个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
版本?答案 0 :(得分:2)
您可以依赖odp.net托管驱动程序的最新版本,但要注意10g上可能没有某些功能(如APPLY)
ODAC 12c第2版中的Oracle Data Provider for .NET版本12.1的更改 支持APPLY关键字 语言集成查询(LINQ)是一种.NET查询语言。在运行时,LINQ在可以查询数据库之前被转换为本机数据库SQL。在某些情况下,LINQ在其SQL转换中使用非标准APPLY关键字来检索横向视图。 Oracle Database和ODP.NET支持Oracle Database 12c第1版(12.1)中的APPLY关键字,以更全面地支持LINQ
另一方面,oracle首先没有正式支持EF代码(link) 而且odp.net与EF6不兼容,所以你现在必须定位EF5(link)
在一天结束时,您需要依赖两者中的任何一个
就我而言,我已成功实施基于情景的解决方案,如下所示