小编chm*_*ifa的帖子

析构函数中的紧密联系

我尝试在类的析构函数中关闭连接,以确保如果我忘记关闭它 - 它会自动关闭,并引发异常。

我搜索了一下,发现是不可能的。

现在我尝试关闭它两次 - 并且它有效!

但我想知道这是否是一个好的解决方案。你怎么认为?

这是代码

public class MyCommand : IDisposable
{
    public readonly DbCommand command;
    public MyCommand(string ConnectionString, DbProviderFactory factory)
    {
        var tempConnexion = factory.CreateConnection();
        tempConnexion.ConnectionString = ConnectionString;
        tempConnexion.Open();
        var t = tempConnexion.BeginTransaction(IsolationLevel.ReadCommitted);
        command = tempConnexion.CreateCommand();
        command.Connection = tempConnexion;
        command.Transaction = t;
    }
    public MyCommand(string ConnectionString, DbProviderFactory factory, string requete)
        : this(ConnectionString, factory)
    {
        command.CommandText = requete;
    }
    public MyCommand(string ConnectionString, string provider)
        : this(ConnectionString, DbProviderFactories.GetFactory(provider)) { }
    public MyCommand(string ConnectionString, string provider, string …
Run Code Online (Sandbox Code Playgroud)

c# ado.net sqlconnection

2
推荐指数
1
解决办法
3200
查看次数

标签 统计

ado.net ×1

c# ×1

sqlconnection ×1