繁体   English   中英

EF Core 2.1 - 处理并行异步方法的连接

[英]EF Core 2.1 - Handling connection on parallel async methods

我的 DbContext 中有多个异步方法来调用存储过程。 所有这些方法处理连接如下。

        DbConnection connection = this.Database.GetDbConnection();
        bool needClose = false;
        if (connection.State != ConnectionState.Open)
        {
            connection.OpenAsync();
            needClose = true;
        }
        }
        try {}
        finally
        {
            if (needClose)
                connection.Close();
        }

我正在并行调用其中一些方法。 我的连接字符串有 MultipleActiveResultSets=True。 我收到以下错误,因为连接被另一种方法关闭。

无效操作。 连接已关闭

什么是更好的方法呢? 提前致谢。

目前我正在关闭处理连接。 这看起来不错的样子。 但是,如果您有任何其他建议,请告诉我。

    public override void Dispose()
    {
        DbConnection connection = Database.GetDbConnection();
        if (connection.State != ConnectionState.Closed)
        {
            connection.Close();
        }
        base.Dispose();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM