CAP问题 Cannot access a disposed object 返回

SqlSugar
11 165
该叫什么 xc 发布于2周前
悬赏:5 飞吻

 Cannot access a disposed object. Object name: 'MySqlTransaction'


有人遇到这个问题吗?帮忙解答一下,谢谢。实在是没有找到问题所在


image.png

image.png

热忱回答11

  • var db=GetDbClient(); 

    统一用变量 db

    0 回复
  • xc xc VIP0
    2周前

    跟那个没有关系,换成统一变量也一样。

    0 回复
  • 这是其他用户能用的例子你参考一下

    //用户使用案例
    var db=GetSqlsugarclient();//关闭自动释放
    using (var connection = (MySqlConnection)db.Ado.Connection)
    {
         using (var transaction = connection.BeginTransaction(_capBus, autoCommit: false))
     
         {
             if (connection.State != ConnectionState.Open)
             {
                connection.Open();
             }
     
              db.Ado.Transaction = (IDbTransaction)transaction.DbTransaction;//这行很重要
                      
              db.Insertable<Test>(new Test()
              {
                name = DateTime.Now.ToString()
              }).ExecuteCommand();
     
              _capBus.Publish("Sample.RabbitMQ.MySql", DateTime.Now);
     
             transaction.Commit();
     
           }
    }


    0 回复
  • 唯一区别在那个func()和你的 变量声名上面

    0 回复
  • xc xc VIP0
    2周前

    @fate stay night:如果例子没有问题就是orm有BUG
    image.png

    0 回复
  • @xc: CAP很多人在用的,  SqlSugarCore.MySqlConnector   多个版本都报错那肯定是你的问题,因为有其他用户在用这个功能

    0 回复
  • 如果是mysql不能用 sqlsugarcore只能用 SqlSugarCore.MySqlConnector 

    0 回复
  • xc xc VIP0
    2周前

    可能是我没有把问题说清楚吧,db.Ado.Transaction = (IDbTransaction)transaction.DbTransaction; 如果加这行,每次API请求结束,都会出现我那个问题。mysql新安装的,项目新建的
    image.png

    0 回复
  •   if (connection.State != ConnectionState.Open)
             {
                connection.Open();
             }

    要加到事务开启之前

    0 回复
  • 都说了没问题的,你认对比一下 人家写好的代码 ,人家能用的并且OK我才贴出来的

    0 回复
  • xc xc VIP0
    2周前

    0 回复