首先使用Oracle和EF代码

时间:2014-05-18 04:24:17

标签: database oracle entity-framework ef-code-first odp.net

我为一家公司写了一个EF code first 6SQL Server 2008R2的项目,现在该公司希望将其数据库切换为Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

  • 我如何找到ODP.NETODAC的适当版本?
  • 我可以使用ODAC 12cOracle 10g的任何其他版本,还是每个Oracle版本都有自己的ODAC版本?

1 个答案:

答案 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

在一天结束时,您需要依赖两者中的任何一个

  • 实体框架5和Odp.Net(免费但没有官方支持代码优先)
  • Entity Framework 6和Devart dot connect(付费但完全代码优先支持)

就我而言,我已成功实施基于情景的解决方案,如下所示

  • Oracle数据库(11g)
  • Odp.net通过nuget管理驱动程序(121.1.1)
  • 不需要安装Odac客户端
  • 实体框架5