我应该让我的数据库 class 静态吗

Should I make my database class static

在一个 ASP 网络项目中,我有一个 class 'SQL' class 来处理与数据库的连接。

在 class 我没有使用字段或属性

每个方法都有类似这样的结构:

try
    {
            using (SqlConnection conn = new SqlConnection(GlobalSettings.Connections.ConnString))
            {
                conn.Open();

               //dostuff with connection
            }
        }
        catch (SqlException e)
        {
            Log.GenericLog(String.Format("SQL Exception message - {0}. Exception stacktrace - {1}", e.Message,
                e.StackTrace));
        }
        catch (Exception e)
        {
            Log.GenericLog(String.Format("Exception message - {0}. Exception stacktrace - {1}", e.Message,
                e.StackTrace));
        }

在这里使用静态 class 安全吗?

如果您愿意,可以使用静态 class。但是请考虑可测试性。当它是静态的时候,测试起来有多容易。其余代码测试引用此静态 class 的难易程度。为什么不使用存储库模式作为对数据访问的抽象,使其更易于测试。然后你会想要注入数据访问代码和静态 class 不会削减芥末。