From 7b49419f7880935db07d6e0eb33eccac532eaf2a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sat, 30 Jul 2022 14:58:21 +0800 Subject: [PATCH] Update demo --- .../QuestDbTest/Demo/Demo0_SqlSugarClient.cs | 17 ++-- .../QuestDbTest/Demo/Demo1_Queryable.cs | 88 ++++--------------- .../QuestDbTest/Demo/Demo4_Deleteable.cs | 48 +++++----- .../QuestDbTest/Demo/DemoE_CodeFirst.cs | 2 +- .../QuestDbTest/Demo/DemoO_Fastest.cs | 62 ------------- Src/Asp.NetCore2/QuestDbTest/Program.cs | 1 - 6 files changed, 49 insertions(+), 169 deletions(-) delete mode 100644 Src/Asp.NetCore2/QuestDbTest/Demo/DemoO_Fastest.cs diff --git a/Src/Asp.NetCore2/QuestDbTest/Demo/Demo0_SqlSugarClient.cs b/Src/Asp.NetCore2/QuestDbTest/Demo/Demo0_SqlSugarClient.cs index ddc96c033..e79f7da6b 100644 --- a/Src/Asp.NetCore2/QuestDbTest/Demo/Demo0_SqlSugarClient.cs +++ b/Src/Asp.NetCore2/QuestDbTest/Demo/Demo0_SqlSugarClient.cs @@ -71,13 +71,12 @@ namespace OrmTest //db.DbMaintenance.CreateDatabase(); //Use db query - var dt = db.Ado.SqlQuery("select 1"); + var dt = db.Ado.SqlQuery("select @id",new { id=1}); //Create tables db.CodeFirst.InitTables(typeof(OrderItem),typeof(Order)); var xx=db.Insertable(new Order() { Name = "order1", CustomId = 1, Price = 0, CreateTime = DateTime.Now }) - .ToSqlString(); - db.Ado.ExecuteCommand(xx); + .ExecuteCommand(); //Insert data // db.Insertable(new OrderItem() { OrderId = id, Price = 0, CreateTime=DateTime.Now }).ExecuteCommand(); Console.WriteLine("#### SqlSugarClient End ####"); @@ -119,12 +118,12 @@ namespace OrmTest orderDb.AsInsertable(insertObj).ExecuteCommand(); - //Delete - orderDb.Delete(insertObj); - orderDb.DeleteById(11111); - orderDb.DeleteById(new int[] { 1111, 2222 }); - orderDb.Delete(it => it.Id == 1111); - orderDb.AsDeleteable().Where(it => it.Id == 1111).ExecuteCommand(); + ////Delete + //orderDb.Delete(insertObj); + //orderDb.DeleteById(11111); + //orderDb.DeleteById(new int[] { 1111, 2222 }); + //orderDb.Delete(it => it.Id == 1111); + //orderDb.AsDeleteable().Where(it => it.Id == 1111).ExecuteCommand(); //Update orderDb.Update(insertObj); diff --git a/Src/Asp.NetCore2/QuestDbTest/Demo/Demo1_Queryable.cs b/Src/Asp.NetCore2/QuestDbTest/Demo/Demo1_Queryable.cs index 19dcdc677..4b99cf1e8 100644 --- a/Src/Asp.NetCore2/QuestDbTest/Demo/Demo1_Queryable.cs +++ b/Src/Asp.NetCore2/QuestDbTest/Demo/Demo1_Queryable.cs @@ -18,7 +18,6 @@ namespace OrmTest JoinTable(); Async(); NoEntity(); - Mapper(); SqlFuncTest(); Subquery(); ReturnType(); @@ -31,29 +30,29 @@ namespace OrmTest var db = GetInstance(); var dbTime = db.GetDate(); var getAll = db.Queryable().ToList(); + var getLike = db.Queryable().Where(it=>it.Name.Contains("order1")).ToList(); + var getYYYY = db.Queryable().Select(it => it.CreateTime.ToString("yyyy-MM-dd")).ToList(); var getOrderBy = db.Queryable().OrderBy(it => it.Name,OrderByType.Desc).ToList(); var getOrderBy2 = db.Queryable().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList(); var getOrderBy3 = db.Queryable().OrderBy(it =>new { it.Name,it.Id}).ToList(); - var getRandom = db.Queryable().OrderBy(it => SqlFunc.GetRandom()).First(); + //var getRandom = db.Queryable().OrderBy(it => SqlFunc.GetRandom()).First(); var getByPrimaryKey = db.Queryable().InSingle(2); var getSingleOrDefault = db.Queryable().Where(it => it.Id == 1).Single(); var getFirstOrDefault = db.Queryable().First(); var getByWhere = db.Queryable().Where(it => it.Id == 1 || it.Name == "a").ToList(); var getByWhere2 = db.Queryable().Where(it => it.Id == DateTime.Now.Year).ToList(); var getByFuns = db.Queryable().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList(); - var getByFuns2 = db.Queryable().GroupBy(it => it.Name).Select(it => SqlFunc.AggregateDistinctCount(it.Price)).ToList(); + // var getByFuns2 = db.Queryable().GroupBy(it => it.Name).Select(it => SqlFunc.AggregateDistinctCount(it.Price)).ToList(); var btime = Convert.ToDateTime("2021-1-1"); var etime = Convert.ToDateTime("2022-1-12"); var test01 = db.Queryable().Select(it => SqlFunc.DateDiff(DateType.Year,btime, etime)).ToList(); var test02 = db.Queryable().Select(it => SqlFunc.DateDiff(DateType.Day, btime, etime)).ToList(); var test03 = db.Queryable().Select(it => SqlFunc.DateDiff(DateType.Month, btime, etime)).ToList(); - var test04 = db.Queryable().Select(it => SqlFunc.DateDiff(DateType.Second, DateTime.Now, DateTime.Now.AddMinutes(2))).ToList(); + //var test04 = db.Queryable().Select(it => SqlFunc.DateDiff(DateType.Second, DateTime.Now, DateTime.Now.AddMinutes(2))).ToList(); var q1 = db.Queryable().Take(1); var q2 = db.Queryable().Take(2); var test05 = db.UnionAll(q1, q2).ToList(); - var test06 = db.Queryable(). - Where(it => it.Price == 0 ? true : it.Name == it.Name) - .ToList(); + var test06 = db.Queryable().ToList(); Console.WriteLine("#### Examples End ####"); Console.WriteLine("#### Examples End ####"); } @@ -120,11 +119,11 @@ namespace OrmTest Console.WriteLine("#### Subquery Start ####"); var db = GetInstance(); - var list = db.Queryable().Take(10).Select(it => new - { - customName=SqlFunc.Subqueryable().Where("it.CustomId=id").Select(s=>s.Name), - customName2 = SqlFunc.Subqueryable().Where("it.CustomId = id").Where(s => true).Select(s => s.Name) - }).ToList(); + //var list = db.Queryable().Take(10).Select(it => new + //{ + // customName=SqlFunc.Subqueryable().Where("it.CustomId=id").Select(s=>s.Name), + // customName2 = SqlFunc.Subqueryable().Where("it.CustomId = id").Where(s => true).Select(s => s.Name) + //}).ToList(); var list2 = db.Queryable().Where(it => SqlFunc.Subqueryable().Where(i => i.OrderId == it.Id).Any()).ToList(); @@ -137,11 +136,11 @@ namespace OrmTest Console.WriteLine("#### SqlFunc Start ####"); var db = GetInstance(); var index= db.Queryable().Select(it => SqlFunc.Contains("a", "cccacc")).First(); - var list = db.Queryable().Select(it => new ViewOrder() - { + //var list = db.Queryable().Select(it => new ViewOrder() + //{ - Id = SqlFunc.AggregateSum(SqlFunc.IF(it.Id > 0).Return(1).End(0)) - }).ToList(); + // Id = SqlFunc.AggregateSum(SqlFunc.IF(it.Id > 0).Return(1).End(0)) + //}).ToList(); var list2 = db.Queryable().Select(it => new { date = SqlFunc.ToDateShort(it.CreateTime), @@ -149,62 +148,7 @@ namespace OrmTest }).ToList(); Console.WriteLine("#### SqlFunc End ####"); } - - private static void Mapper() - { - Console.WriteLine(""); - Console.WriteLine("#### Mapper Start ####"); - var db = GetInstance(); - //Creater Table - db.CodeFirst.InitTables(typeof(Tree)); - db.DbMaintenance.TruncateTable("tree"); - db.Insertable(new Tree() { Id = 1, Name = "root" }).ExecuteCommand(); - db.Insertable(new Tree() { Id = 11, Name = "child1",ParentId=1 }).ExecuteCommand(); - db.Insertable(new Tree() { Id = 12, Name = "child2",ParentId=1 }).ExecuteCommand(); - db.Insertable(new Tree() { Id = 2, Name = "root" }).ExecuteCommand(); - db.Insertable(new Tree() { Id = 22, Name = "child3", ParentId = 2 }).ExecuteCommand(); - - // Same property name mapping,Both entities have parentId - var list = db.Queryable().Mapper(it => it.Parent, it => it.ParentId).ToList(); - - - //If both entities have parentId, I don't want to associate with parentId. - var list1 =db.Queryable() - //parent=(select * from parent where id=it.parentid) - .Mapper(it=>it.Parent,it=>it.ParentId, it=>it.Parent.Id) - //Child=(select * from parent where ParentId=it.id) - .Mapper(it => it.Child, it => it.Id, it => it.Parent.ParentId) - .ToList(); - //one to one - var list2 = db.Queryable().Mapper(it => it.Order, it => it.OrderId).ToList(); - - //one to many - var list3 = db.Queryable().Mapper(it => it.Items, it => it.Items.First().OrderId).ToList(); - - //many to many - db.CodeFirst.InitTables(); - - db.Insertable(new A() { Name = "A" }).ExecuteCommand(); - db.Insertable(new B() { Name = "B" }).ExecuteCommand(); - db.Insertable(new ABMapping() { AId = 1, BId = 1 }).ExecuteCommand(); - - var list4 = db.Queryable() - .Mapper(it => it.A, it => it.AId) - .Mapper(it => it.B, it => it.BId) - .Where(it => it.A.Id == 1).ToList(); - - //Manual mode - var result = db.Queryable().Take(10).Select().Mapper((itemModel, cache) => - { - var allItems = cache.Get(orderList => { - var allIds = orderList.Select(it => it.Id).ToList(); - return db.Queryable().Where(it => allIds.Contains(it.OrderId)).ToList();//Execute only once - }); - itemModel.Items = allItems.Where(it => it.OrderId==itemModel.Id).ToList();//Every time it's executed - }).ToList(); - - Console.WriteLine("#### End Start ####"); - } + private static void NoEntity() { diff --git a/Src/Asp.NetCore2/QuestDbTest/Demo/Demo4_Deleteable.cs b/Src/Asp.NetCore2/QuestDbTest/Demo/Demo4_Deleteable.cs index d4cd15714..871b25ef4 100644 --- a/Src/Asp.NetCore2/QuestDbTest/Demo/Demo4_Deleteable.cs +++ b/Src/Asp.NetCore2/QuestDbTest/Demo/Demo4_Deleteable.cs @@ -13,33 +13,33 @@ namespace OrmTest { Console.WriteLine(""); Console.WriteLine("#### Deleteable Start ####"); + //No Support DELETE + //SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() + //{ + // DbType = DbType.QuestDB, + // ConnectionString = Config.ConnectionString, + // InitKeyType = InitKeyType.Attribute, + // IsAutoCloseConnection = true, + // AopEvents = new AopEvents + // { + // OnLogExecuting = (sql, p) => + // { + // Console.WriteLine(sql); + // Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value))); + // } + // } + //}); + ////by entity + //db.Deleteable().Where(new Order() { Id = 1111 }).ExecuteCommand(); - SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() - { - DbType = DbType.QuestDB, - ConnectionString = Config.ConnectionString, - InitKeyType = InitKeyType.Attribute, - IsAutoCloseConnection = true, - AopEvents = new AopEvents - { - OnLogExecuting = (sql, p) => - { - Console.WriteLine(sql); - Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value))); - } - } - }); - //by entity - db.Deleteable().Where(new Order() { Id = 1111 }).ExecuteCommand(); + ////by primary key + //db.Deleteable().In(1111).ExecuteCommand(); - //by primary key - db.Deleteable().In(1111).ExecuteCommand(); + ////by primary key array + //db.Deleteable().In(new int[] { 1111, 2222 }).ExecuteCommand(); - //by primary key array - db.Deleteable().In(new int[] { 1111, 2222 }).ExecuteCommand(); - - //by expression - db.Deleteable().Where(it => it.Id == 11111).ExecuteCommand(); + ////by expression + //db.Deleteable().Where(it => it.Id == 11111).ExecuteCommand(); Console.WriteLine("#### Deleteable End ####"); diff --git a/Src/Asp.NetCore2/QuestDbTest/Demo/DemoE_CodeFirst.cs b/Src/Asp.NetCore2/QuestDbTest/Demo/DemoE_CodeFirst.cs index 00ab02ed7..23e6ba1b3 100644 --- a/Src/Asp.NetCore2/QuestDbTest/Demo/DemoE_CodeFirst.cs +++ b/Src/Asp.NetCore2/QuestDbTest/Demo/DemoE_CodeFirst.cs @@ -32,7 +32,7 @@ namespace OrmTest [SugarColumn(IsIdentity = true, IsPrimaryKey = true)] public int Id { get; set; } public string Name { get; set; } - [SugarColumn(ColumnDataType = "varchar(255)")]//custom + [SugarColumn(ColumnDataType = "string")]//custom public string Text { get; set; } [SugarColumn(IsNullable = true)] public DateTime CreateTime { get; set; } diff --git a/Src/Asp.NetCore2/QuestDbTest/Demo/DemoO_Fastest.cs b/Src/Asp.NetCore2/QuestDbTest/Demo/DemoO_Fastest.cs deleted file mode 100644 index ec174874c..000000000 --- a/Src/Asp.NetCore2/QuestDbTest/Demo/DemoO_Fastest.cs +++ /dev/null @@ -1,62 +0,0 @@ -using OrmTest; -using SqlSugar; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OrmTest -{ - public class TestFAST11 - { - [SqlSugar.SugarColumn(IsArray =true, ColumnDataType ="text []")] - public string[] Array { get; set; } - - public int Sex { get; set; } - public DateTime Date { get; set; } - - [SqlSugar.SugarColumn(IsPrimaryKey =true)] - public string Id { get; set; } - [SqlSugar.SugarColumn(IsNullable = true)] - public long X { get; set; } - [SqlSugar.SugarColumn(IsNullable = true,IsJson =true,ColumnDataType ="json")] - public string [] json { get; set; } - } - - public class DemoO_Fastest - { - public static void Init() - { - Console.WriteLine(""); - Console.WriteLine("#### Insertable Start ####"); - - SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() - { - DbType = DbType.QuestDB, - ConnectionString = Config.ConnectionString, - InitKeyType = InitKeyType.Attribute, - IsAutoCloseConnection = true, - AopEvents = new AopEvents - { - OnLogExecuting = (sql, p) => - { - Console.WriteLine(sql); - Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value))); - } - } - }); - db.CodeFirst.InitTables(); - db.Fastest().BulkCopy(new List() { - new TestFAST11(){ Array=new string[]{ "2"}, Date=DateTime.Now, Id=Guid.NewGuid()+"", Sex=1 , X=11,json=new string[]{ "x"} } - }); - var data = new List() { - new TestFAST11(){ Array=new string[]{ "2"}, Date=DateTime.Now, Id=Guid.NewGuid()+"", Sex=1 , X=11,json=new string[]{ "x"} } - }; - //db.Updateable(data).ExecuteCommand(); - db.Fastest().BulkUpdate(data); - var x = db.Queryable().ToList(); - - } - } -} diff --git a/Src/Asp.NetCore2/QuestDbTest/Program.cs b/Src/Asp.NetCore2/QuestDbTest/Program.cs index 8426c0ef7..25a6d65c3 100644 --- a/Src/Asp.NetCore2/QuestDbTest/Program.cs +++ b/Src/Asp.NetCore2/QuestDbTest/Program.cs @@ -8,7 +8,6 @@ namespace OrmTest { //Demo Demo0_SqlSugarClient.Init(); - DemoO_Fastest.Init(); Demo1_Queryable.Init(); Demo2_Updateable.Init(); Demo3_Insertable.Init();