CSFramework.EF 数据库框架 - 测试异步方法 (Async)


 

C# 全选
        private void button2_Click(object sender, EventArgs e)
        {
            //
            //测试异步方法,www.csframework.com
            //
            var config = GetConfig("WebApiSystem");
            IDatabase db = DatabaseFactory.GetDatabase(config);

            _NewCustomers.Clear();

            //测试异步
            Task.Run(() =>
            {
                DoTestAsync(db);
            }).Wait();

        }

 

C# 全选
        private async Task<String> DoTestAsync(IDatabase db)
        {
            var result = "";

            _NewCustomers.Clear();

            result += await db.AddAsync<Test_Customer>(NewCustomer());
            result += await db.AddAsync<Test_Customer>(NewCustomer());
            result += await db.AddAsync<Test_Customer>(NewCustomerList());
            result += await db.AddAsync<Test_Customer>(NewCustomerList());
            result += await db.ExecuteSqlAsync("select 1 from Test_Customer;");
            result += await db.RemoveAsync<Test_Customer>(_NewCustomers[0]);
            result += await db.RemoveAsync<Test_Customer>(new List<Test_Customer> { _NewCustomers[1], _NewCustomers[2] });

            var obj = _NewCustomers[3];
            obj.NativeName = "Async修改了:" + obj.NativeName;
            result += db.UpdateAsync<Test_Customer>(obj).Result;

            await db.RunTransactionAsync(() =>
             {
                 //edit
                 obj = _NewCustomers[4];
                 obj.NativeName = "RunTransactionAsync修改了:" + obj.NativeName;
                 result += db.Update<Test_Customer>(obj);

                 //remove
                 result += db.Remove(_NewCustomers[5]);

                 result += db.Add<Test_Customer>(NewCustomer());

                 return Task.CompletedTask;
             });


            //获取本次Test的对象
            var isid = _NewCustomers.Select(s => s.isid).ToList();
            var listResult = db.GetQueryable<Test_Customer>().Where(w => isid.Contains(w.isid)).ToList();

            this.Invoke(new OnShowGridAsync(this.ShowGrid), listResult, result);

            return result;
        }

 

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:CSFramework.EF 数据库框架 - 测试同步方法
下一篇:CSFramework.EF 数据库框架 - 测试 Add 方法新增对象
评论列表

发表评论

评论内容
昵称:
关联文章

CSFramework.EF 数据库框架 - 测试异步方法 (Async)
CSFramework.EF 数据库框架 - 测试同步方法
CSFramework.EF 数据库框架 - 测试 Add 方法新增对象
CSFramework.EF 数据库框架 - 测试 Remove 方法删除对象
CSFramework.EF 数据库框架 - 测试 Update 方法更新对象
CSFramework.EF数据库框架简介
CSFramework.EF 数据库框架 - 获取数据库元数据 (meta方法)
CSFramework.EF 数据库框架 - 测试 BulkInsert 方法极速插入对象
CSFramework.EF 数据库框架 - 使用 BeginTransation 方法启动事务
Entity Framework(EF)测试DbContext.Database.ExecuteSqlCommand方法删除记录
Entity Framework(EF):测试DbContext.Remove方法,对象状态管理器(Object State Manager)
CSFramework.EF 数据库框架 - 创建数据库实例 IDatabase
CSFramework.EF 数据库框架 - 使用 RunTransaction 启动事务
CSFramework.EF 数据库框架 - Demo测试程序
CSFramework.WebApi后端框架 - 压力测试报告 - 软件测试报告
C# WebService异步处理/异步调用详解
C/S架构快速开发框架SQL并发测试压力测试 | www.csframework.com
Entity Framework(EF):测试DbContext的Add,Remove相同对象是否执行两次SQL
测试CSFramework.DB数据底层组件IDatabase.GetTop方法(Mssql/MySql)
ASP.NET WebApi框架异步实现MultipartContent方式上传文件