gpt4 book ai didi

c# - 2013 年末使用 Oracle 数据库的 .NET 应用程序有哪些数据访问选项?

转载 作者:行者123 更新时间:2023-11-30 20:53:49 25 4
gpt4 key购买 nike

我目前正在开发具有 Oracle 数据库后端的 ASP.NET MVC 应用程序的新版本。当我开始开发时,我惊讶地发现它只是使用 ADO.NET 命令连接到 Oracle。在与另一位开发人员交谈后,我发现他们去年尝试切换到 Entity Framework ,但该框架存在许多性能问题,他们不想再次重复这些问题。

我正在尝试找出其他选项:

  • 继续使用 ADO.NET 并构建一个封装数据库调用的包装类。基本上是企业库 DAAB 的自定义轻量版。
  • 使用企业库 DAAB
  • 使用 NHibernate
  • Entity Framework (由于性能问题,不能选择)

  • 每种方法都有缺点。由于 Microsoft 的 OracleClient 提供程序在 .NET Framework 4.0 版中已被弃用,因此只有使用 Oracle 的 ODP.NET 提供程序才有意义。这是 Enterprise Library 的一个问题,因为当前版本 (6.0) 仍然使用 Microsoft 的 OracleClient。看起来有人已经将 OracleClient 换成对 ODP.NET 的引用,但它似乎不是一个大群体,所以我担心如果我们运行会遇到问题并且资源很少成问题。

    NHibernate 使用 ODP.NET,但开发速度已经放缓,他们仍然没有发布基于 .NET 4.0 的更新版本,即使它已经发布了 3 年。开始新的 NHibernate 工作似乎并不明智。

    创建一个包装类将允许我们使用 ODP.NET,但这是一项大量工作。如果存在更好的解决方案,我讨厌花时间重新创建轮子。

    目前,这让我们只需为 ADO.NET 创建一个轻量级包装器。 2013 年末还有其他有效的选择吗?我需要一个由公司支持或拥有活跃社区的选项,这样我们在遇到问题时就不会独自飞行。

    更新
    查看 Enterprise Library DAAB 与 Enterprise Library Contrib Project 中的 Oracle ODP.NET Data Provider v6.0。有人有这个选项的经验吗?

    最佳答案

    我仍在 .NET 4.5 上使用 NHibernate 3.1。它工作得很好。我的项目已经增长到 300kloc,在管理 NHibernate 方面没有任何问题。除非您需要 NHibernate 在 .NET 4.5 下无法执行的操作,否则我认为 NHibernate 没有问题。

    但是,由于 NHibernate 很复杂,因此团队中最好有具有 NHibernate/Hibernate 经验的人。他将在使用 NHibernate 方面为其他人提供很多帮助。

    关于c# - 2013 年末使用 Oracle 数据库的 .NET 应用程序有哪些数据访问选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19660113/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com