Exemplo n.º 1
0
            public Repository(ISqlSugarClient context = null) : base(context)//注意这里要有默认值等于null
            {
                if (context == null)
                {
                    var db = new SqlSugarClient(new List <ConnectionConfig> {
                        new ConnectionConfig()
                        {
                            ConfigId = "1",
                            DbType   = SqlSugar.DbType.SqlServer,
                            IsAutoCloseConnection = true,
                            ConnectionString      = Config.ConnectionString
                        },
                        new ConnectionConfig()
                        {
                            ConfigId = "2",
                            DbType   = SqlSugar.DbType.SqlServer,
                            IsAutoCloseConnection = true,
                            ConnectionString      = Config.ConnectionString2
                        }
                    });

                    var configId = typeof(T).GetCustomAttribute <TenantAttribute>().configId;
                    Context = db.GetConnection(configId);
                    this.db = db;
                }
            }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();
            pt.SetCount(1000);
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {


                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id");

                }, m => { }, "ado.DateTable 纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query<Models.Student>(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id").ToList();

                }, m => { }, "dapper 纯SQL写法");

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Sqlable().Form("Student", "s")
                        .Join("School","sc","sc.id","s.sch_id",JoinType.INNER)
                        .Join("subject","sb","sb.sid","s.id",JoinType.LEFT).SelectToList<Models.Student>("*");

                }, m => { }, "sqlSugar SQL语法糖");
                //sqlSugar
                pt.Execute(i =>
                {
                    db.SqlQuery<Models.Student>(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id").ToList();

                }, m => { }, "sqlSugar 纯SQL写法");


            }

            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    db.ExecuteStoreQuery<WebTest.TestLib.Student>(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id");

                }, m => { }, "EF4.0+sql05 纯SQL写法");
            }
            GridView gv = new GridView();
            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();

            pt.SetCount(10000);//设置循环次数
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                //ef
                using (WebTest.TestLib.SqlSugarTestEntities ef = new TestLib.SqlSugarTestEntities())
                {
                    pt.Execute(i =>
                    {
                        var datas = ef.InsertTests.Where(c => c.id == 1 || c.id > 1000);
                        foreach (var r in datas)
                        {
                            r.v1 = "new11";
                            r.v2 = "newv22";
                            r.v3 = "new33";
                        }
                        ef.SaveChanges();
                    }, m => { }, "EF4.0+sql05 Linq语法");
                }

                //ado.net
                pt.Execute(i =>
                {
                    db.ExecuteCommand(@" UPDATE InsertTest SET  v1 =@v1  , v2 =@v2  , v3 =@v3   WHERE  1=1   and ((id =@id1) Or (id >@id1000))", new SqlParameter[] {
                        new SqlParameter("@v1", "new11"),
                        new SqlParameter("@v2", "new22"),
                        new SqlParameter("@v3", "new33"),
                        new SqlParameter("@id1", "1"),
                        new SqlParameter("@id1000", "1000")
                    });
                }, m => { }, "ado.net");

                //dapper
                var sqlConn = db.GetConnection();
                pt.Execute(i =>
                {
                    sqlConn.Execute(@" UPDATE InsertTest SET  v1 =@v1  , v2 =@v2  , v3 =@v3   WHERE  1=1   and ((id ='1') Or (id >'1000'))",
                                    new { v1 = "newv11", v2 = "newv22", v3 = "newv33", id1 = 1, id1000 = 1000 });
                }, m => { }, "dapper");

                //sqlSugar
                pt.Execute(i =>
                {
                    //更新10000次
                    db.Update <Models.InsertTest>(new { v1 = "newv11", v2 = "newv22", v3 = "newv33" }, it => it.id == 1 || it.id > 1000);
                }, m => { }, "sqlSugar");
            }

            //输出测试页面
            GridView gv = new GridView();

            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();

            pt.SetCount(10000);
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable(@"select * from (select  s.*,row_number() over (order by s.id asc,s.name desc) r from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id where  s.id>@id1 and  s.id>@id2) t where  t.r between @b and @e", new SqlParameter("@id1", "1"), new SqlParameter("@id2", "2"), new SqlParameter("@b", "11"), new SqlParameter("@e", "20"));
                }, m => { }, "ado.DateTable 纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query <Models.Student>(@"select * from (select s.*,row_number() over (order by s.id asc,s.name desc) r from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id where  s.id>@id1 and  s.id>@id2) t where   t.r between @b and @e", new { id1 = 1, id2 = 2, b = 11, e = 20 }).ToList();
                }, m => { }, "dapper 纯SQL写法");

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Sqlable().From("Student", "s")
                    .Join("School", "sc", "sc.id", "s.sch_id", JoinType.INNER)
                    .Join("subject", "sb", "sb.sid", "s.id", JoinType.LEFT).Where("s.id>@id1").Where("s.id>@id2")
                    .SelectToPageList <Models.Student>("s.*", "s.id asc,s.name desc", 2, 10, new { id1 = 1, id2 = 2 });
                }, m => { }, "sqlSugar SQL语法糖");
            }
            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    var reval = (from s in db.Student
                                 join sc in db.School on s.sch_id equals sc.id
                                 join sb in db.Subject on s.id equals sb.sid
                                 into ssb
                                 from sb2 in ssb.DefaultIfEmpty()
                                 select new {
                        s.id,
                        s.name,
                        s.sch_id,
                        s.sex
                    }).Where(c => c.id > 1).Where(c => c.id > 2).OrderBy(c => c.id).ThenByDescending(c => c.name).Skip(10).Take(10).ToList();
                }, m => { }, "EF4.0+sql05  LINQ TO SQL");
            }
            GridView gv = new GridView();

            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();

            pt.SetCount(1000);
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id");
                }, m => { }, "ado.DateTable 纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query <Models.Student>(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id").ToList();
                }, m => { }, "dapper 纯SQL写法");

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Sqlable().Form("Student", "s")
                    .Join("School", "sc", "sc.id", "s.sch_id", JoinType.INNER)
                    .Join("subject", "sb", "sb.sid", "s.id", JoinType.LEFT).SelectToList <Models.Student>("*");
                }, m => { }, "sqlSugar SQL语法糖");
                //sqlSugar
                pt.Execute(i =>
                {
                    db.SqlQuery <Models.Student>(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id").ToList();
                }, m => { }, "sqlSugar 纯SQL写法");
            }

            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    db.ExecuteStoreQuery <WebTest.TestLib.Student>(@"select * from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id");
                }, m => { }, "EF4.0+sql05 纯SQL写法");
            }
            GridView gv = new GridView();

            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();
            pt.SetCount(10000);
            int id = 1;
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
               
              

                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable("select * from Student WHERE ID>@id", new SqlParameter("@id", id));

                }, m => { }, "ado.DateTable 纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query<Models.Student>("select * from Student where id>@id", new { id = id}).ToList();

                }, m => { }, "dapper 纯SQL写法");


                //sqlSugar
                pt.Execute(i =>
                {

                    db.Queryable<Models.Student>().Where(c => c.id == id).ToList();

                }, m => { }, "sqlSugar 拉姆达");

            }

            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    db.Student.Where(c => c.id == id).ToList();

                }, m => { }, "EF4.0+sql05 拉姆达");
            }
            GridView gv = new GridView();
            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();
            pt.SetCount(10000);
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {


                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable("select * from(select *,row_number() over(order by id) as r from Student where id>@id) t where t.r between @b and @e", new SqlParameter("@id","0"), new SqlParameter("@b", 11), new SqlParameter("@e", 20));

                }, m => { }, "ado.DateTable  纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query<Models.Student>("select * from(select *,row_number() over(order by id) as r from Student where id>@id) t where t.r between @b and @e", new { id = 0,b=11,e=20 }).ToList();

                }, m => { }, "dapper  纯SQL写法");

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Queryable<Models.Student>().Where(c => c.id > 0).OrderBy("id").ToPageList(2, 10);

                }, m => { }, "sqlSugar 拉姆达");


            }

            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    db.Student.Where(c => c.id == 2).OrderBy(c=>c.id).Skip(10).Take(10).ToList();

                }, m => { }, "EF4.0+sql05 拉姆达");
            }
            GridView gv = new GridView();
            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            
            PerformanceTest pt = new PerformanceTest();
            pt.SetCount(1100);//设置循环次数
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {

                TuncateTable(db);
                AddTest(pt, db);

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Delete<Models.InsertTest>(it=>it.id==i);

                }, m => { }, "sqlSugar");


                TuncateTable(db);
                AddTest(pt, db);

                //ado.net
                pt.Execute(i =>
                {
                    db.ExecuteCommand("delete InsertTest where id=@id", new SqlParameter("@id", i));

                }, m => { }, "ado.net");


                TuncateTable(db);
                AddTest(pt, db);

                //dapper
                pt.Execute(i =>
                {
                    db.GetConnection().Execute("delete InsertTest where id=@id", new { id=i});

                }, m => { }, "dapper");
            }

            //输出测试页面
            GridView gv = new GridView();
            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);

        }
Exemplo n.º 9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();

            pt.SetCount(10000);
            int id = 1;

            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable("select * from Student WHERE ID>@id", new SqlParameter("@id", id));
                }, m => { }, "ado.DateTable 纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query <Models.Student>("select * from Student where id>@id", new { id = id }).ToList();
                }, m => { }, "dapper 纯SQL写法");


                //sqlSugar
                pt.Execute(i =>
                {
                    db.Queryable <Models.Student>().Where(c => c.id == id).ToList();
                }, m => { }, "sqlSugar 拉姆达");
            }

            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    db.Student.Where(c => c.id == id).ToList();
                }, m => { }, "EF4.0+sql05 拉姆达");
            }
            GridView gv = new GridView();

            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();

            pt.SetCount(1100);//设置循环次数
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                TuncateTable(db);
                AddTest(pt, db);

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Delete <Models.InsertTest>(it => it.id == i);
                }, m => { }, "sqlSugar");


                TuncateTable(db);
                AddTest(pt, db);

                //ado.net
                pt.Execute(i =>
                {
                    db.ExecuteCommand("delete InsertTest where id=@id", new SqlParameter("@id", i));
                }, m => { }, "ado.net");


                TuncateTable(db);
                AddTest(pt, db);

                //dapper
                pt.Execute(i =>
                {
                    db.GetConnection().Execute("delete InsertTest where id=@id", new { id = i });
                }, m => { }, "dapper");
            }

            //输出测试页面
            GridView gv = new GridView();

            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();

            pt.SetCount(10000);
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable("select * from(select *,row_number() over(order by id) as r from Student where id>@id) t where t.r between @b and @e", new SqlParameter("@id", "0"), new SqlParameter("@b", 11), new SqlParameter("@e", 20));
                }, m => { }, "ado.DateTable  纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query <Models.Student>("select * from(select *,row_number() over(order by id) as r from Student where id>@id) t where t.r between @b and @e", new { id = 0, b = 11, e = 20 }).ToList();
                }, m => { }, "dapper  纯SQL写法");

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Queryable <Models.Student>().Where(c => c.id > 0).OrderBy("id").ToPageList(2, 10);
                }, m => { }, "sqlSugar 拉姆达");
            }

            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    db.Student.Where(c => c.id == 2).OrderBy(c => c.id).Skip(10).Take(10).ToList();
                }, m => { }, "EF4.0+sql05 拉姆达");
            }
            GridView gv = new GridView();

            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 12
0
        private static void DistributedTransactionExample()
        {
            Console.WriteLine("");
            Console.WriteLine("#### Distributed TransactionExample Start ####");
            SqlSugarClient db = new SqlSugarClient(new List <ConnectionConfig>()
            {
                new ConnectionConfig()
                {
                    ConfigId = "1", DbType = DbType.SqlServer, ConnectionString = Config.ConnectionString, InitKeyType = InitKeyType.Attribute, IsAutoCloseConnection = true
                },
                new ConnectionConfig()
                {
                    ConfigId = "2", DbType = DbType.SqlServer, ConnectionString = Config.ConnectionString2, InitKeyType = InitKeyType.Attribute, IsAutoCloseConnection = true
                }
            });

            //use db1
            db.CodeFirst.SetStringDefaultLength(200).InitTables(typeof(Order), typeof(OrderItem));//
            db.Insertable(new Order()
            {
                Name = "order1", CreateTime = DateTime.Now
            }).ExecuteCommand();
            Console.WriteLine(db.CurrentConnectionConfig.DbType + ":" + db.Queryable <Order>().Count());

            //use db2
            db.ChangeDatabase("2");
            db.DbMaintenance.CreateDatabase();//Create Database2
            db.CodeFirst.SetStringDefaultLength(200).InitTables(typeof(Order), typeof(OrderItem));
            db.Insertable(new Order()
            {
                Name = "order1", CreateTime = DateTime.Now
            }).ExecuteCommand();
            Console.WriteLine(db.CurrentConnectionConfig.DbType + ":" + db.Queryable <Order>().Count());

            // Example 1
            Console.WriteLine("Example 1");
            try
            {
                db.BeginTran();

                db.ChangeDatabase("1");//use db1
                db.Deleteable <Order>().ExecuteCommand();
                Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());

                db.ChangeDatabase("2");//use db2
                db.Deleteable <Order>().ExecuteCommand();
                Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());

                throw new Exception();
                db.CommitTran();
            }
            catch
            {
                db.RollbackTran();
                Console.WriteLine("---Roll back");
                db.ChangeDatabase("1");//use db1
                Console.WriteLine(db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());

                db.ChangeDatabase("2");//use db2
                Console.WriteLine(db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());
            }



            // Example 2
            Console.WriteLine("Example 2");

            var result = db.UseTran(() =>
            {
                db.ChangeDatabase("1");//use db1
                db.Deleteable <Order>().ExecuteCommand();
                Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());

                db.ChangeDatabase("2");//use db2
                db.Deleteable <Order>().ExecuteCommand();
                Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());
                throw new Exception("");
            });

            if (result.IsSuccess == false)
            {
                Console.WriteLine("---Roll back");
                db.ChangeDatabase("1");//use db1
                Console.WriteLine(db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());

                db.ChangeDatabase("2");//use db2
                Console.WriteLine(db.CurrentConnectionConfig.DbType);
                Console.WriteLine(db.Queryable <Order>().Count());
            }

            // Example 3
            Console.WriteLine("Example 3");
            Task <DbResult <bool> > result2 = AsyncTranDemo(db);

            result2.Wait();

            // Example 4
            Console.WriteLine("Example 4");
            var mysqldb     = db.GetConnection("1"); //获取ConfigId为1的数据库对象
            var sqlServerdb = db.GetConnection("2"); //获取默认对象

            Console.WriteLine(mysqldb.Queryable <Order>().Count());
            Console.WriteLine(sqlServerdb.Queryable <Order>().Count());
            try
            {
                db.BeginTran();

                sqlServerdb.Deleteable <Order>().ExecuteCommand();
                mysqldb.Deleteable <Order>().ExecuteCommand();
                Console.WriteLine(mysqldb.Queryable <Order>().Count());
                Console.WriteLine(sqlServerdb.Queryable <Order>().Count());

                throw new Exception("");
                db.CommitTran();
            }
            catch (Exception)
            {
                db.RollbackTran();//数据回滚
                Console.WriteLine(mysqldb.Queryable <Order>().Count());
                Console.WriteLine(sqlServerdb.Queryable <Order>().Count());
            }
            Console.WriteLine("#### Distributed TransactionExample End ####");
        }
Exemplo n.º 13
0
        protected void Page_Load(object sender, EventArgs e)
        {

            PerformanceTest pt = new PerformanceTest();
            pt.SetCount(10000);//设置循环次数
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
         

                //ef
                using (WebTest.TestLib.SqlSugarTestEntities ef = new TestLib.SqlSugarTestEntities())
                {
                    pt.Execute(i =>
                    {
                        var datas = ef.InsertTests.Where(c => c.id == 1 || c.id > 1000);
                        foreach (var r in datas)
                        {
                            r.v1 = "new11";
                            r.v2 = "newv22";
                            r.v3 = "new33";
                        }
                        ef.SaveChanges();


                    }, m => { }, "EF4.0+sql05 Linq语法");
                }

                //ado.net
                pt.Execute(i =>
                {

                    db.ExecuteCommand(@" UPDATE InsertTest SET  v1 =@v1  , v2 =@v2  , v3 =@v3   WHERE  1=1   and ((id =@id1) Or (id >@id1000))",new SqlParameter[]{
                      new SqlParameter("@v1","new11"),
                      new SqlParameter("@v2","new22"),
                      new SqlParameter("@v3","new33"),
                      new SqlParameter("@id1","1"),
                      new SqlParameter("@id1000","1000")
                    });

                }, m => { },"ado.net");

                //dapper
                var sqlConn=db.GetConnection();
                pt.Execute(i =>
                {

                    sqlConn.Execute(@" UPDATE InsertTest SET  v1 =@v1  , v2 =@v2  , v3 =@v3   WHERE  1=1   and ((id ='1') Or (id >'1000'))", 
                      new { v1 = "newv11", v2 = "newv22", v3 = "newv33",id1=1,id1000=1000 } );

                }, m => { }, "dapper");

                //sqlSugar
                pt.Execute(i =>
                {
                    //更新10000次
                    db.Update<Models.InsertTest>(new { v1 = "newv11", v2 = "newv22", v3 = "newv33" }, it => it.id == 1 || it.id > 1000);

                }, m => { }, "sqlSugar");


            }

            //输出测试页面
            GridView gv = new GridView();
            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();

            pt.SetCount(10000);//设置循环次数
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                var sqlconn = db.GetConnection();

                TuncateTable(db);//清空

                //sqlSuagr
                pt.Execute(i =>
                {
                    db.Insert <Models.InsertTest>(GetData());
                }, m => { }, "sqlSuagr");



                TuncateTable(db);


                //ef4.0+Sql05
                using (TestLib.SqlSugarTestEntities ef = new TestLib.SqlSugarTestEntities())
                {
                    pt.Execute(i =>
                    {
                        ef.InsertTests.AddObject(GetEFData());
                        ef.SaveChanges();
                    }, m => { }, "ef4.0+Sql05");
                }


                TuncateTable(db);

                //dapper
                pt.Execute(i =>
                {
                    sqlconn.Execute("insert into InsertTest (v1,v2,v3,int1,d1,txt ) values(@v1,@v2,@v3,@int1,@d1,@txt);select @@identity;", GetData());
                }, m => { }, "dapper");


                TuncateTable(db);

                //ado.net
                pt.Execute(i =>
                {
                    db.GetScalar("insert into InsertTest (v1,v2,v3,int1,d1,txt ) values(@v1,@v2,@v3,@int1,@d1,@txt);select @@identity;", new SqlParameter[] {
                        new SqlParameter("@d1", DateTime.Now),
                        new SqlParameter("@int1", 11),
                        new SqlParameter("@txt", "哈另一个txt"),
                        new SqlParameter("@v1", "v1sdfasdas"),
                        new SqlParameter("@v2", "v2sdfasfas"),
                        new SqlParameter("@v3", "v3adfasdf"),
                        new SqlParameter("@id", 1)
                    });
                }, m => { }, "ado.net");
            }

            //输出测试页面
            GridView gv = new GridView();

            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            PerformanceTest pt = new PerformanceTest();
            pt.SetCount(10000);
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {


                //ado.GetDataTable
                pt.Execute(i =>
                {
                    db.GetDataTable(@"select * from (select  s.*,row_number() over (order by s.id asc,s.name desc) r from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id where  s.id>@id1 and  s.id>@id2) t where  t.r between @b and @e", new SqlParameter("@id1", "1"), new SqlParameter("@id2", "2"), new SqlParameter("@b", "11"), new SqlParameter("@e", "20"));

                }, m => { }, "ado.DateTable 纯SQL写法");


                //dapper
                var conn = db.GetConnection();
                pt.Execute(i =>
                {
                    conn.Query<Models.Student>(@"select * from (select s.*,row_number() over (order by s.id asc,s.name desc) r from dbo.Student s inner join dbo.School sc on sc.id=s.sch_id 
left join dbo.Subject sb on sb.sid=s.id where  s.id>@id1 and  s.id>@id2) t where   t.r between @b and @e", new { id1 = 1, id2 = 2, b = 11, e = 20 }).ToList();

                }, m => { }, "dapper 纯SQL写法");

                //sqlSugar
                pt.Execute(i =>
                {
                    db.Sqlable().Form("Student", "s")
                        .Join("School", "sc", "sc.id", "s.sch_id", JoinType.INNER)
                        .Join("subject", "sb", "sb.sid", "s.id", JoinType.LEFT).Where("s.id>@id1").Where("s.id>@id2")
                        .SelectToPageList<Models.Student>("s.*", "s.id asc,s.name desc", 2, 10, new { id1=1,id2=2 });

                }, m => { }, "sqlSugar SQL语法糖");
            }
            using (WebTest.TestLib.SqlSugarTestEntities db = new TestLib.SqlSugarTestEntities())
            {
                //EF
                pt.Execute(i =>
                {
                    var reval = (from s in db.Student
                                join sc in db.School on s.sch_id equals sc.id
                                join sb in db.Subject on s.id equals sb.sid
                                into ssb
                                from sb2 in ssb.DefaultIfEmpty()
                                select new {
                                s.id,
                                s.name,
                                s.sch_id,
                                s.sex
                                }).Where(c=>c.id>1).Where(c=>c.id>2).OrderBy(c=>c.id).ThenByDescending(c=>c.name).Skip(10).Take(10).ToList();




                }, m => { }, "EF4.0+sql05  LINQ TO SQL");
            }
            GridView gv = new GridView();
            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);
        }
Exemplo n.º 16
0
        protected void Page_Load(object sender, EventArgs e)
        {

            PerformanceTest pt = new PerformanceTest();
            pt.SetCount(10000);//设置循环次数
            using (SqlSugarClient db = new SqlSugarClient(System.Configuration.ConfigurationManager.ConnectionStrings["sqlConn"].ToString()))
            {
                var sqlconn = db.GetConnection();

                TuncateTable(db);//清空

                //sqlSuagr
                pt.Execute(i =>
                {
                    db.Insert<Models.InsertTest>(GetData());

                }, m => { }, "sqlSuagr");




          
                TuncateTable(db);


                //ef4.0+Sql05
                using (TestLib.SqlSugarTestEntities ef = new TestLib.SqlSugarTestEntities())
                {
                    pt.Execute(i =>
                    {
                        ef.InsertTests.AddObject(GetEFData());
                        ef.SaveChanges();

                    }, m => { }, "ef4.0+Sql05");
                }


                TuncateTable(db);

                //dapper
                pt.Execute(i =>
                {
                    sqlconn.Execute("insert into InsertTest (v1,v2,v3,int1,d1,txt ) values(@v1,@v2,@v3,@int1,@d1,@txt);select @@identity;", GetData());

                }, m => { }, "dapper");


                TuncateTable(db);

                //ado.net
                pt.Execute(i =>
                {
                    db.GetScalar("insert into InsertTest (v1,v2,v3,int1,d1,txt ) values(@v1,@v2,@v3,@int1,@d1,@txt);select @@identity;", new SqlParameter[]{
                   new SqlParameter("@d1", DateTime.Now),
                   new SqlParameter("@int1",11),
                   new SqlParameter("@txt","哈另一个txt"),
                   new SqlParameter("@v1","v1sdfasdas"),
                   new SqlParameter("@v2","v2sdfasfas"),
                   new SqlParameter("@v3","v3adfasdf"),
                   new SqlParameter("@id",1)
                    });

                }, m => { }, "ado.net");


            }

            //输出测试页面
            GridView gv = new GridView();
            gv.DataSource = pt.GetChartSource();
            gv.DataBind();
            Form.Controls.Add(gv);



        }
Exemplo n.º 17
0
 public SqlConnection GetConnection()
 {
     return(_db.GetConnection());
 }