经测试发现Async方法事务无效,如果用非Async则有效。如何避免此问题? 返回

求助
2 1419

      private static async void Test()

        {

            SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()

            {

                ConnectionString = "server=.;database=TEST;uid=sa;pwd=sa", //必填

                DbType = DbType.SqlServer, //必填

                IsAutoCloseConnection = true, //默认false

                InitKeyType = InitKeyType.SystemTable

            }); //默认SystemTable

            db.Ado.BeginTran();

            await db.Insertable<pbAppCustomer>(new pbAppCustomer()

            {

                iAppId = 1,

                dExpiredTime = DateTime.Now,

                iCustomerId = 1,

                iIden = 1,

                iVersion = 1 ,

                sCustomerName = "test",

                tLastChangeTime = DateTime.Now,

                iClientCount = 11,

                iCustomerSource = 1

            }).ExecuteCommandAsync();

            db.Ado.RollbackTran();

        }

我并不是需要同时执行多条SQL,我只是想在asp.net里数据库操作不要占用iis线程,而使用.net framework线程池,以提高并发能发。
经查看源码,发现异步方法都通过ContextMethods.CopyContext复制一个新的连接。


热忱回答2

版块

学习文档

最新会员

发布达人

回贴达人