private static void TestINsert() { Console.WriteLine("===========for Npgsql=========="); var npglogic = new PgTestLogic(); // new MssqlTestLogic();//TestLogic(); //var pglist = npglogic.FindPage(2, 1); //var pglist2 = npglogic.FindPageAction(2, 1); // var inlist = npglogic.FindAction(); npglogic.CreateTable(); //npglogic.CreateSuperTable(); var list1 = npglogic.GetMultiList(2001, "aa" + DateTime.Now.ToString()); var st = Stopwatch.StartNew(); npglogic.InsertMulitFor(list1); st.Stop(); Console.WriteLine("use foreach: " + st.ElapsedMilliseconds + " ms."); var list2 = npglogic.GetMultiList(2001, "bb" + DateTime.Now.ToString()); var st2 = Stopwatch.StartNew(); npglogic.InsertMulti(list2); st2.Stop(); Console.WriteLine("use multi: " + st2.ElapsedMilliseconds + " ms."); Console.WriteLine("===========for MS Sql=========="); var mslogic = new MssqlTestLogic(); // new MssqlTestLogic();//TestLogic(); //var pglist = npglogic.FindPage(2, 1); //var pglist2 = npglogic.FindPageAction(2, 1); // var inlist = npglogic.FindAction(); //mslogic.CreateTable(); //npglogic.CreateSuperTable(); var list11 = mslogic.GetMultiList(2001, "aa" + DateTime.Now.ToString()); var st12 = Stopwatch.StartNew(); mslogic.InsertMulitFor(list11); st12.Stop(); Console.WriteLine("use foreach: " + st12.ElapsedMilliseconds + " ms."); var list12 = mslogic.GetMultiList(2001, "bb" + DateTime.Now.ToString()); var st22 = Stopwatch.StartNew(); mslogic.InsertMulti(list12); st22.Stop(); Console.WriteLine("use multi: " + st22.ElapsedMilliseconds + " ms."); }
static void Main(string[] args) { PreApplicationStart.RegisterTypeMaps(); //TestINsert(); //var pg = npglogic.FindPageAction(10, 2); //Console.WriteLine($"total:{pg.Count},pageSize:{pg.PageSize},currentPage:{pg.PageNumber}"); //foreach (var p in pg.Results) //{ // Console.WriteLine(p.Id.ToString() + "__|__" + p.Name); //} //var t2ret = npglogic.TestSuperClass(); //Console.WriteLine("name1 | name2"); //foreach (var t2 in t2ret) //{ // Console.WriteLine(t2.Name+" | "+t2.TestName2); //} //npglogic.FindAction2(); //var result = npglogic.TestJoinCount<dynamic>(sql => //{ // sql.Select(p => p.Id, p => p.Name); // sql.Count(p => p.Id, "Count"); // sql.GroupBy(p => p.Id, p => p.Name); // //sql.Join<PgTestLogic.t2>(((test2, t2) =>test2.Name==t2.Name)).Where(v=>v.TestName2.Contains("d")); // //sql.Join<PgTestLogic.t2,int,dynamic>(sql => { },p=>p.Id,v=>v.Name,((test2, t2) => test2.Id, )) // //sql.SelectEntity(p => new SqlColumnEntity("c_name",null), p => new SqlColumnEntity("Id",null)); // //sql.Join<PgTestLogic.t2, string>(exp => // //{ // // exp.Where(p => p.TestName2.Contains("ccc")); // //}, p => p.Name, p => p.Name,JoinType.LeftJoin, v => v.Name, v => v.TestName2); // var sqlsub=sql.InnerJoinSubQuery<PgTestLogic.t2, string>(sql2 => // { // sql2.Max(p => p.Name); // sql2.GroupBy(p => p.TestName2); // sql2.Count<Test2>(p => p.TestName2,v=>v.Name); // }, p=>p.Name,v=>v.Name,m=>m.TestName2); // sql.GroupBySubQuery<PgTestLogic.t2>(sqlsub.JoinSubAliasTableName, p => p.TestName2); //}); // test for sub query from lambda. //var result = npglogic.TestV<VTest>(sql => //{ // //sql.Select(); // sql.SelectAll(); // var sqlsub = sql.LeftJoinSubQuery<PgTestLogic.t2, string>(sql2 => // { // sql2.Select(p => p.Name); // sql2.Select<VTest>(t => t.TestName2, v => v.Name); // sql2.Count<VTest>(p => p.TestName2, p => p.Count5); // sql2.GroupBy(p => p.Name); // }, v => v.Name, v => v.Name); // sql.SelectSubQuery<VTest>(sqlsub, p => p.Count5); //}); //the above code make below t-sql script: //SELECT //"Id", //"c_name", //join_636411782561333769."count_5" //FROM // Test2 //LEFT JOIN( // SELECT // COUNT ("test".v_tt2."name2") AS "count_5", //name1 // FROM //"test".v_tt2 //group by name1 // ) join_636411782561333769 ON Test2."c_name" = join_636411782561333769."name1" //var first = result[0]; //var firstId = first.Id; //foreach (var item in result) //{ // Console.WriteLine($"{item.Id}_{item.c_name}_{item.Count}"); //} var msLogic = new MssqlTestLogic(); msLogic.TestSubSubQuery(); //var msLogic = new PgTestLogic(); //msLogic.TestSubSubQuery(); Console.ReadLine(); }