示例#1
0
        public void Test()
        {
            SqlMapper.Aop.OnExecuting += (ref CommandDefinition command) =>
            {
                //生成的sql
                var sql = command.CommandText;
                //生成的参数
                var param = command.Parameters;
#if DEBUG
                Console.WriteLine(sql);
#endif
            };

            //正常模式下仓储使用
            using (var repository = new FlowOrderRepository())
            {
                var flowOrder = repository.QuerySet()
                                .ResetTableName(typeof(FlowOrder), "flow_order_1")
                                .Where(x => x.DeliveredTime.HasValue && x.CustomerCode == "test")
                                .Get();

                //切换数据库
                repository.ChangeDataBase("fps_2021");

                var gc_Fps_FlowOrder = repository.QuerySet()
                                       .ResetTableName(typeof(FlowOrder), "flow_order_1")
                                       .Where(x => x.DeliveredTime.HasValue && x.CustomerCode == "test")
                                       .Top(10)
                                       .OrderBy("")
                                       .ToList();

                repository.ChangeDataBase("master");

                gc_Fps_FlowOrder = repository.QuerySet()
                                   .ResetTableName(typeof(FlowOrder), "flow_order_1")
                                   .Where(x => x.DeliveredTime.HasValue && x.CustomerCode == "test")
                                   .Top(10)
                                   .ToList();
            }

            var conn = new MySqlConnection("server=localhost;port=3306;user id=root;password=A5101264a;database=gc_fps_receivable;");
            //自定义仓储释放时 conn也会释放
            using (var divReposirory = conn.QuerySet <FlowOrder>().GetRepository())
            {
                //使用自定义仓储
                var flowOrder = divReposirory.FindById(1);


                var tupleList = divReposirory.QuerySet()
                                .ToListAsync(x => new
                {
                    Id = x.Id,
                    //flowOrders1 = divReposirory.Orm.QuerySet<FlowOrder1>().Where(y => y.Id == x.Id).Get(y => true),
                    //flowOrders2 = divReposirory.Orm.QuerySet<FlowOrder2>().Where(y => y.Id == x.Id).Get(y => true),
                    dateTime = x.DeliveredReceiveTime
                }).Result;
            }
        }
示例#2
0
        public void Test()
        {
            //正常模式下仓储使用
            using (var repository = new FlowOrderRepository())
            {
                repository.UnitOfWork.BeginTransaction(() =>
                {
                    var flowList = repository.QuerySet()
                                   .NotUnitOfWork()
                                   .ToList();

                    var count = repository.Insert(flowList);
                });

                repository.UnitOfWork.Rollback();
            }
        }
        public void Test()
        {
            SqlMapper.Aop.OnExecuting += Aop_OnExecuting;

            //正常模式下仓储使用
            using (var repository = new FlowOrderRepository())
            {
                repository.UnitOfWork.BeginTransaction(() =>
                {
                    var flowList = repository.QuerySet()
                                   .Top(10)
                                   .ToList();

                    var count = repository.Insert(flowList);
                });

                //repository.UnitOfWork.Rollback();

                // var json = JsonConvert.SerializeObject(repository.Orm.Query("SELECT * FROM customer_pay_info LIMIT 1"));



                var flowOrders = repository.QuerySet <FlowOrder>()
                                 //.Where(x => x.CustomerCode == "G1119")
                                 .OrderBy(x => x.OrderNumber)
                                 .Top(100)
                                 .ToList();

                int index = 0;

                //for (var i = 0; i < 50; i++)
                //{



                //    Console.WriteLine(index);
                //}

                foreach (var item in flowOrders)
                {
                    item.UpdateTime = DateTime.Now;
                    //item.OrderNumber = Guid.NewGuid().ToString("N");
                }

                // List<Task> tasks = new List<Task>();

                // tasks.Add(Task.Run(async () =>
                //{
                //    var result1 = await repository.CommandSet<FlowOrder>()
                //      .InsertAsync(flowOrders);
                //    Console.WriteLine(result1);
                //}));

                // Task.WaitAll(tasks.ToArray());


                var result = repository.CommandSet <FlowOrder>()
                             .Update(flowOrders);

                var testData = flowOrders.FirstOrDefault();

                var updateFlowOrder = repository.CommandSet <FlowOrder>()
                                      .Where(x => x.Id.Between(4, 5))
                                      .UpdateSelect(x => new FlowOrder
                {
                    Id          = x.Id,
                    AccountCode = x.AccountCode
                });



                result = repository.CommandSet <FlowOrder>()
                         .Delete(testData);


                var newId = repository.CommandSet <FlowOrder>()
                            .InsertIdentity(testData);
            }
        }
示例#4
0
        public void Test()
        {
            SqlMapper.Aop.OnExecuting += (ref CommandDefinition command) =>
            {
                //生成的sql
                var sql = command.CommandText;
                //生成的参数
                var param = command.Parameters;
#if DEBUG
                //Console.WriteLine(sql);
#endif
            };


            //正常模式下仓储使用
            using (var repository = new FlowOrderRepository())
            {
                repository.UnitOfWork.BeginTransaction(() =>
                {
                    var flowOrder = repository.QuerySet()
                                    .ResetTableName(typeof(FlowOrder), "flow_order_1")
                                    //.Where(x => x.DeliveredTime.HasValue && x.CustomerCode == "test")
                                    .WhereIf(false, x => x.CustomerCode == "test", x => 1 == 1)
                                    .From <FlowOrder, FlowOrder>()
                                    .Where((a, b) => a.Id == 1)
                                    .GetQuerySet()
                                    .Get();

                    //Convert.ToInt32("sss");



                    //切换数据库
                    repository.ChangeDataBase("fps_2021");

                    var gc_Fps_FlowOrder = repository.QuerySet()
                                           .ResetTableName(typeof(FlowOrder), "flow_order_1")
                                           .Where(x => x.DeliveredTime.HasValue && x.CustomerCode.StartsWith("test"))
                                           .Top(10)
                                           .OrderBy("")
                                           .ToList();

                    repository.ChangeDataBase("master");

                    gc_Fps_FlowOrder = repository.QuerySet()
                                       .ResetTableName(typeof(FlowOrder), "flow_order_1")
                                       .Where(x => x.DeliveredTime.HasValue && x.CustomerCode == "test")
                                       .Top(10)
                                       .ToList();
                }, System.Data.IsolationLevel.RepeatableRead);

                repository.UnitOfWork.Rollback();
            }

            var conn = new MySqlConnection("server=localhost;port=3306;user id=root;password=A5101264a;database=gc_fps_receivable;");
            //自定义仓储释放时 conn也会释放
            using (var divReposirory = conn.QuerySet <FlowOrder>().GetRepository())
            {
                //使用自定义仓储
                var flowOrder = divReposirory.FindById(4);


                var tupleList = divReposirory.QuerySet()
                                .ToListAsync(x => new
                {
                    Id          = x.Id,
                    flowOrders1 = divReposirory.Orm.QuerySet <FlowOrder1>().Where(y => y.Id == x.Id).Get(y => true),
                    flowOrders2 = divReposirory.Orm.QuerySet <FlowOrder2>().Where(y => y.Id == x.Id).Get(y => true),
                    dateTime    = x.DeliveredReceiveTime
                }).Result;
            }
        }