.net - 在 .NET 中管理数据库连接的最佳实践是什么?

标签 .net database-connection connection-pooling

关于在 .NET 应用程序中管理数据库连接的最佳实践——我知道,一般来说,传递连接对象是不好的。

但是,我有一些特定的好奇心:

1. 我有两个业务实例
不同类别的对象,在一个
亲子关系( child
是私有(private)的。)以下哪项
是最好的?

  • 保持一个私有(private)静态连接打开和共享,由两个对象使用,并保持打开状态,直到父对象被释放。
  • 保持两个私有(private)静态连接打开,每个对象一个,不要
    关闭,直到对象被处置。
  • 不要保持静态连接;打开然后关闭一个新的
    连接每个需要它的方法。但是,我的大多数方法只运行 1-3 个查询,所以这似乎效率低下......?


  • 2.我的第二个问题本质上是一样的,只是针对单一形式。这里最好的是什么?
  • 在表单的整个生命周期内保持一个私有(private)静态连接打开和共享。
  • 不要保持静态连接;为需要它的表单中的每个方法打开并随后关闭一个连接(同样,每个方法只需 1-3 个查询。)
  • 最佳答案

    我的理解是,连接应该只在需要时保持打开状态。大多数时候我在 Using 语句中看到了连接,类似于

    using (DBConnection db = new DBConnection(connectString))
    {
        //do stuff
    }
    

    关于.net - 在 .NET 中管理数据库连接的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3258788/

    相关文章:

    php - 为什么我的mysql事务不能正常工作?

    java - Eclipselink Pooling 相当于 C3PO

    c# - 有没有办法在 C# 中打印计算的时间格式字符串?

    c# - .net + SQL + 超时问题

    java - 为什么我会收到 dbunit noclassdeffounderror 数据库连接?

    mysql - 连接到数据库 - MySQL

    c# - 分层应用程序中的异常处理

    c# - 如何通过 Web 请求在 C# 中编辑请求主机 header ?

    python - 单线程应用程序的连接池

    java - OrientDB连接池