【问题标题】:Can you use Microsoft Entity Framework with Oracle? [closed]您可以将 Microsoft Entity Framework 与 Oracle 一起使用吗? [关闭]
【发布时间】:2010-09-10 02:31:32
【问题描述】:

是否可以将 Microsoft Entity Framework 与 Oracle 数据库一起使用?

【问题讨论】:

标签: .net oracle entity-framework odp.net


【解决方案1】:

更新

Oracle 现在完全支持实体框架。 .NET 版本 11.2.0.3 (ODAC 11.2) 的 Oracle 数据提供程序 发行说明: http://docs.oracle.com/cd/E20434_01/doc/win.112/e23174/whatsnew.htm#BGGJIEIC

更多关于 Linq to Entities 和 ADO.NET Entity Framework 的文档: http://docs.oracle.com/cd/E20434_01/doc/win.112/e23174/featLINQ.htm#CJACEDJG

注意:ODP.NET 也支持实体 SQL。

【讨论】:

  • Oracle 可能会在未来某个时候发布测试版更新。如果上面的链接中断,请关注oracle.com/technetwork/topics/dotnet/whatsnew/index.html 以获取公告。
  • 请注意,不支持代码优先
  • 现在,在 2013 年,任何驱动程序完全托管 .NET for Oracle(包括 EF)?
  • @Kiquenet - 在 2015 年(可能更早),Oracle 有一个支持实体框架的托管驱动程序。它在 NuGet 中可用。
【解决方案2】:

DevArt 的 OraDirect 提供程序现在支持实体框架。见http://devart.com/news/2008/directs475.html

【讨论】:

  • Devart dotConnect for Oracle(以前称为 OraDirect .NET)现在提供对 Entity Framework v4 Release Candidate devart.com/blogs/dotconnect/?p=2062的支持
  • 您可以在此处阅读更多信息并下载 Devart dotConnect for Oracle 的试用版 - devart.com/dotconnect/oracle
  • 对于模型优先,devArt dotConnect DDL 生成模板在数据类型上比第一次切割的 Oracle 测试版更明智(例如:不只是让所有东西都变成数字(38,0) )。 Oracle 模板甚至不为身份字段生成序列...
【解决方案3】:

Oracle 已宣布针对 ODP.net 和实体框架的"statement of direction"

总之,ODP.Net 测试版大约在 2010 年底左右,在 2011 年的某个时间量产。

【讨论】:

  • 到那时,EF 的 V5 已经发布,oracle 似乎正在尽其所能来标记难以将 .net 与 oracle 一起使用,而 Microsoft 正在尽其所能有了它,就很难在 .net 中使用 oracle
  • Oracle 网站已重新设计,一些链接已损坏。这是 Oracle 和实体框架方向声明的新链接:oracle.com/technetwork/topics/dotnet/whatsnew/…
【解决方案4】:
【解决方案5】:

如果您还不知道,Oracle 已经发布了支持实体框架的 ODP.NET。虽然它还不支持代码。

http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

【讨论】:

    【解决方案6】:

    答案是“大部分”。

    我们在使用它时遇到了一个问题,即 EF 生成使用 CROSS 和 OUTER APPLY 运算符的代码。 This link shows MS 知道它在 2005 年之前与 SQL Server 存在问题,但是他们忘记提及 Oracle 也不支持这些运算符。

    【讨论】:

    • 您使用的是哪个 EF 提供程序?
    • 仅供参考 - APPLY SQL 关键字已添加到 Oracle Database 12c。所以最终这个问题会随着人们迁移到这个版本的数据库而消失。 APPLY 出现的场景并不常见。
    【解决方案7】:

    现在有一个新的 nuget 包,尝试使用它: https://www.nuget.org/packages/Oracle.ManagedDataAccess.EntityFramework/

    【讨论】:

    • Banetti 我可以在 .NET Core 2.2 应用程序中使用它吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多