public static void 测试_导数据() { //本地库数据初始化 插入10万条用户数据 int insertCount = 100000; Console.WriteLine("开始测试_导数据,本地库插入{0}条用户数据", insertCount); Console.WriteLine("开始生成数据"); List <tb_user> userlist = new List <tb_user>(); for (int i = 200; i < insertCount + 200; i++) { userlist.Add( new tb_user { 自增NO = i, //自增列 框架不会去插入 账号 = string.Format("U{0:D4}", i), 密码 = "12345678", 用户名 = string.Format("Tester{0:D3}", i), 性别 = i % 2 == 0, 年龄 = RNG.Next(20, 60), 会员等级 = (byte)(RNG.Next(1, 255)), 积分 = RNG.Next(1000, 10000), 消费能力 = Math.Abs((short)RNG.Next(1, 100)), 头像 = 获取头像(i), 注册日期 = DateTime.Now }); } Console.WriteLine("完成生成数据,开始执行插入本地库"); long ms = localDy.BulkInsert(userlist); Console.WriteLine("插入本地库{1}条数据执行:{0}毫秒", ms, insertCount); Console.WriteLine(); //单表->导入远程服务器 Console.WriteLine("开始执行导入远程服务器"); var remoteDy = new Dy("remoteServer"); var query1 = new DyQuery <tb_user>().AsQuery(); var result = localDy.CopyToRemote <kQL.orm.demo.remotemodels.tb_user>(query1, remoteDy); Console.WriteLine("完成导入远程服务器,本次执行毫秒:{0}", result.Item1); Console.WriteLine(); //聚合结果导入远程服务器 var query2 = new DyQuery <tb_order>(t2 => t2) .Join <tb_order_detail>(JoinWay.InnerJoin, t3 => t3).On <tb_order, tb_order_detail>((t2, t3) => t2.订单ID == t3.订单ID) .Group(t2 => t2.订单ID).Group(t2 => t2.账号) .Having <tb_order_detail>(WhereWay.And, t3 => t3.订单ID.Dy_Count() > 5) .Select <tb_order, tb_order_detail>( (t2, t3) => new { t2.订单ID, t2.账号, 明细数量 = t3.订单ID.Dy_Count(), 总金额Max = t3.支付价.Dy_Max(), 总金额Min = t3.支付价.Dy_Min(), 总金额Sum = t3.支付价.Dy_Sum(), 总金额Avg = t3.支付价.Dy_Avg(), R金额 = ((t3.支付价.Dy_Max() + t3.支付价.Dy_Min() - t3.支付价.Dy_Sum() * t3.支付价.Dy_Avg()) / t3.支付价.Dy_Min()).Dy_Convert <decimal, decimal>("decimal(18,2)") } ).AsQuery(); result = localDy.CopyToRemote <kQL.orm.demo.remotemodels.tb_order_info>(query2, remoteDy); Console.WriteLine("聚合结果导入远程服务器->本次执行毫秒:{0}", result.Item1); }