diff --git a/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs b/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs index 3b139e5ab..997d02414 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo1_Queryable.cs @@ -13,15 +13,15 @@ namespace OrmTest public static void Init() { EasyExamples(); - QueryConditions(); + //QueryConditions(); JoinTable(); - Async(); - NoEntity(); - Mapper(); - SqlFuncTest(); - Subquery(); - ReturnType(); - ConfiQuery(); + //Async(); + //NoEntity(); + //Mapper(); + //SqlFuncTest(); + //Subquery(); + //ReturnType(); + //ConfiQuery(); } private static void ConfiQuery() @@ -137,43 +137,43 @@ namespace OrmTest int c = 0; var test10 = db.Queryable().ToPageList(1, 2, ref c); var test11 = db.Queryable().GroupBy(it=>new { it.CreateTime.Year }).Select(it=>it.CreateTime.Year).ToList(); - var test12 = db.Queryable().GroupBy(it => it.CreateTime.Date ).Select(it => it.CreateTime.Date).ToList(); - var test13 = db.Queryable().GroupBy(it => new { it.CreateTime.Date ,it.CreateTime.Year,it.CreateTime.Minute }) - .Select(it => new { it.CreateTime.Date, it.CreateTime.Year, it.CreateTime.Minute }).ToList(); - var test14 = db.Queryable() - .GroupBy(it => it.CreateTime.Year ) - .GroupBy(it => it.CreateTime.Second) - .GroupBy(it => it.CreateTime.Date) - .Select(it => new { - it.CreateTime.Year, - it.CreateTime.Second, - it.CreateTime.Date - }).ToList(); + // var test12 = db.Queryable().GroupBy(it => it.CreateTime.Date ).Select(it => it.CreateTime.Date).ToList(); + //var test13 = db.Queryable().GroupBy(it => new { it.CreateTime.Date ,it.CreateTime.Year,it.CreateTime.Minute }) + // .Select(it => new { it.CreateTime.Date, it.CreateTime.Year, it.CreateTime.Minute }).ToList(); + //var test14 = db.Queryable() + // .GroupBy(it => it.CreateTime.Year ) + // .GroupBy(it => it.CreateTime.Second) + // .GroupBy(it => it.CreateTime.Date) + // .Select(it => new { + // it.CreateTime.Year, + // it.CreateTime.Second, + // it.CreateTime.Date + // }).ToList(); var test15 = db.Queryable((o, i) => new JoinQueryInfos( JoinType.Left, o.Name == SqlFunc.ToString(SqlFunc.MergeString(",", i.Name, ",")) )) .Select().ToList(); // var test16 = db.Queryable().Select(it => SqlFunc.SqlServer_DateDiff("day", DateTime.Now.AddDays(-1), DateTime.Now)).ToList(); - var test17 = - db.Queryable() - .Select() - .MergeTable() - .Select(it => new ViewOrder() - { - Name = SqlFunc.Subqueryable().Select(s => s.Name) - }).ToList(); ; - var test18 = db.UnionAll( - db.Queryable() , - db.Queryable() - ) - .Select(it=>new ViewOrder(){ - Name=SqlFunc.Subqueryable().Select(s=>s.Name) - }).ToList(); + //var test17 = + // db.Queryable() + // .Select() + // .MergeTable() + // .Select(it => new ViewOrder() + // { + // Name = SqlFunc.Subqueryable().Select(s => s.Name) + // }).ToList(); ; + //var test18 = db.UnionAll( + // db.Queryable() , + // db.Queryable() + // ) + // .Select(it=>new ViewOrder(){ + // Name=SqlFunc.Subqueryable().Select(s=>s.Name) + // }).ToList(); var test19 = db.Queryable().Select().ToList(); var test20 = db.Queryable().LeftJoin((o, cs) =>o.Id==cs.Id) .ToDictionary(it => it.Id, it => it.Name); - var test21 = db.Queryable().Where(it=>it.Id.ToString()==1.ToString()).Select(it => it.CreateTime.ToString("24")).First(); + //var test21 = db.Queryable().Where(it=>it.Id.ToString()==1.ToString()).Select(it => it.CreateTime.ToString("24")).First(); Console.WriteLine("#### Examples End ####"); } @@ -397,12 +397,12 @@ namespace OrmTest .Select() .ToList(); - //Join table - var list2 = db.Queryable((o, i, c) => new JoinQueryInfos( - JoinType.Left, o.Id == i.OrderId, - JoinType.Left, c.Id == o.CustomId - )) - .Select().ToList(); + // //Join table + // var list2 = db.Queryable((o, i, c) => new JoinQueryInfos( + // JoinType.Left, o.Id == i.OrderId, + // JoinType.Left, c.Id == o.CustomId + // )) + //.Select().ToList(); //Join queryable var query1 = db.Queryable((o, i) => new JoinQueryInfos( @@ -421,36 +421,36 @@ namespace OrmTest - var query4 = db.Queryable( - db.Queryable().Where(it => it.Name.Contains("a")), - db.Queryable().Where(it => it.CreateTime>DateTime.Now), - db.Queryable().Where(it => it.Name.Contains("b")), - JoinType.Left, (o, i, c) => o.Id==i.OrderId, - JoinType.Left,(o,i,c)=>o.CustomId==c.Id + //var query4 = db.Queryable( + // db.Queryable().Where(it => it.Name.Contains("a")), + // db.Queryable().Where(it => it.CreateTime>DateTime.Now), + // db.Queryable().Where(it => it.Name.Contains("b")), + // JoinType.Left, (o, i, c) => o.Id==i.OrderId, + // JoinType.Left,(o,i,c)=>o.CustomId==c.Id - ).Select(o=>o).ToList(); + // ).Select(o=>o).ToList(); - var query5 = db.Queryable() - .InnerJoin((o, cus) => o.CustomId == cus.Id) - .InnerJoin((o, cus, oritem) => o.Id == oritem.OrderId) - .Where((o) => o.Id == 1) - .Select((o, cus) => new ViewOrder { Id=o.Id, CustomName = cus.Name }) - .ToList(); + //var query5 = db.Queryable() + // .InnerJoin((o, cus) => o.CustomId == cus.Id) + // .InnerJoin((o, cus, oritem) => o.Id == oritem.OrderId) + // .Where((o) => o.Id == 1) + // .Select((o, cus) => new ViewOrder { Id=o.Id, CustomName = cus.Name }) + // .ToList(); - var query6 = db.Queryable(db.Queryable()).LeftJoin((m, i) => m.Id == i.OrderId) - .ToList(); + //var query6 = db.Queryable(db.Queryable()).LeftJoin((m, i) => m.Id == i.OrderId) + // .ToList(); - var query7 = db.Queryable(db.Queryable().Select().MergeTable()).LeftJoin((m, i) => m.Id == i.OrderId) - .ToList(); + //var query7 = db.Queryable(db.Queryable().Select().MergeTable()).LeftJoin((m, i) => m.Id == i.OrderId) + // .ToList(); - var query8 = db.Queryable() - .LeftJoin(db.Queryable().Where(it=>it.Id==1),(o,i)=>o.CustomId==i.Id) - .LeftJoin(db.Queryable().Where(it=>it.OrderId==2),(o,i,item)=>item.OrderId==o.Id) - .LeftJoin(db.Queryable().Where(it => it.Id >0), (o, i, item, od) => od.Id == o.Id) - .Select(o => o).ToList(); + //var query8 = db.Queryable() + // .LeftJoin(db.Queryable().Where(it=>it.Id==1),(o,i)=>o.CustomId==i.Id) + // .LeftJoin(db.Queryable().Where(it=>it.OrderId==2),(o,i,item)=>item.OrderId==o.Id) + // .LeftJoin(db.Queryable().Where(it => it.Id >0), (o, i, item, od) => od.Id == o.Id) + // .Select(o => o).ToList(); Console.WriteLine("#### Join Table End ####"); } diff --git a/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs b/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs index d0a3b849d..308da3060 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo2_Updateable.cs @@ -35,14 +35,14 @@ namespace OrmTest /*** 1.entity or List ***/ var updateObj = new Order() { Id = 1, Name = "order1" }; - var updateObjs = new List { - new Order() { Id = 11, Name = "order11" }, - new Order() { Id = 12, Name = "order12" } - }; + //var updateObjs = new List { + // new Order() { Id = 11, Name = "order11" }, + // new Order() { Id = 12, Name = "order12" } + //}; //update all columns by primary key var result = db.Updateable(updateObj).ExecuteCommand();//update single - var result2 = db.Updateable(updateObjs).ExecuteCommand();//update List + //var result2 = db.Updateable(updateObjs).ExecuteCommand();//update List //Ignore Name and Price var result3 = db.Updateable(updateObj).IgnoreColumns(it => new { it.CreateTime, it.Price }).ExecuteCommand(); @@ -52,10 +52,10 @@ namespace OrmTest //If there is no primary key var result5 = db.Updateable(updateObj).WhereColumns(it => new { it.Id }).ExecuteCommand();//update single by id - var result6 = db.Updateable(updateObjs).WhereColumns(it => new { it.Id }).ExecuteCommand();//update List by id + //var result6 = db.Updateable(updateObjs).WhereColumns(it => new { it.Id }).ExecuteCommand();//update List by id //Re set value - var result66 = db.Updateable(new List { updateObj }).ReSetValue(it => it.Id = 112).IgnoreColumns(it => new { it.CreateTime, it.Price }).ExecuteCommand(); + //var result66 = db.Updateable(new List { updateObj }).ReSetValue(it => it.Id = 112).IgnoreColumns(it => new { it.CreateTime, it.Price }).ExecuteCommand(); @@ -81,7 +81,7 @@ namespace OrmTest dtList.Add(dt); var t66 = db.Updateable(dt).AS("[Order]").WhereColumns("id").ExecuteCommand(); - var t666 = db.Updateable(dtList).AS("[Order]").WhereColumns("id").ExecuteCommand(); + // var t666 = db.Updateable(dtList).AS("[Order]").WhereColumns("id").ExecuteCommand(); @@ -109,8 +109,8 @@ namespace OrmTest .AddQueue(); db.SaveQueues(); - var dataTable = db.Queryable().Select("id,name,1 as price").Take(2).ToDataTable(); - db.Fastest().BulkUpdate("Order", dataTable,new string[] {"id" },new string[] {"name" }); + //var dataTable = db.Queryable().Select("id,name,1 as price").Take(2).ToDataTable(); + //db.Fastest().BulkUpdate("Order", dataTable,new string[] {"id" },new string[] {"name" }); Console.WriteLine("#### Updateable End ####"); } diff --git a/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs b/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs index ea0a25bb9..8fa85bb42 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo3_Insertable.cs @@ -31,12 +31,12 @@ namespace OrmTest }); var insertObj = new Order() { Id = 1, Name = "order1", Price = 0 }; - var insertObjs = new List { - new Order() { Id = 11, Name = "XX", Price=0 }, - new Order() { Id = 12, Name = "XX2" , Price=0} - }; + //var insertObjs = new List { + // new Order() { Id = 11, Name = "XX", Price=0 }, + // new Order() { Id = 12, Name = "XX2" , Price=0} + //}; - var x=db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand(); + //var x=db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand(); //Ignore CreateTime db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity @@ -47,108 +47,108 @@ namespace OrmTest db.Insertable(insertObj).InsertColumns("Name", "Price").ExecuteReturnIdentity(); //ignore null columns - db.Insertable(insertObjs).ExecuteCommand();//get change row count + // db.Insertable(insertObjs).ExecuteCommand();//get change row count //Use Lock db.Insertable(insertObj).With(SqlWith.UpdLock).ExecuteCommand(); - insertObjs = new List { - new Order() { Id = 11, Name = "order11", Price=1 }, - new Order() { Id = 12, Name = "order12" , Price=20, CreateTime=DateTime.Now, CustomId=1} - }; - db.Insertable(insertObjs).UseSqlServer().ExecuteBulkCopy(); + //insertObjs = new List { + // new Order() { Id = 11, Name = "order11", Price=1 }, + // new Order() { Id = 12, Name = "order12" , Price=20, CreateTime=DateTime.Now, CustomId=1} + //}; + //db.Insertable(insertObjs).UseSqlServer().ExecuteBulkCopy(); var dt = db.Queryable().Take(5).ToDataTable(); dt.TableName = "Order"; - db.Insertable(dt).UseSqlServer().ExecuteBulkCopy(); - db.CodeFirst.InitTables(); - db.CodeFirst.InitTables(); - db.DbMaintenance.TruncateTable("RootTable0"); - db.DbMaintenance.TruncateTable("TwoItem"); - db.DbMaintenance.TruncateTable("TwoItem2"); - db.DbMaintenance.TruncateTable("TwoItem3"); - db.DbMaintenance.TruncateTable("ThreeItem2"); - Console.WriteLine("SubInsert Start"); + //db.Insertable(dt).UseSqlServer().ExecuteBulkCopy(); + // db.CodeFirst.InitTables(); + // db.CodeFirst.InitTables(); + // db.DbMaintenance.TruncateTable("RootTable0"); + // db.DbMaintenance.TruncateTable("TwoItem"); + // db.DbMaintenance.TruncateTable("TwoItem2"); + // db.DbMaintenance.TruncateTable("TwoItem3"); + // db.DbMaintenance.TruncateTable("ThreeItem2"); + // Console.WriteLine("SubInsert Start"); - db.Insertable(new Order() - { - Name = "订单 1", - CustomId = 1, - Price = 100, - CreateTime = DateTime.Now, - Id = 0, - Items = new List() { - new OrderItem(){ - CreateTime=DateTime.Now, - OrderId=0, - Price=1, - ItemId=1 - }, - new OrderItem(){ - CreateTime=DateTime.Now, - OrderId=0, - Price=2, - ItemId=2 - } - } - }) - .AddSubList(it => it.Items.First().OrderId).ExecuteCommand(); + // db.Insertable(new Order() + // { + // Name = "订单 1", + // CustomId = 1, + // Price = 100, + // CreateTime = DateTime.Now, + // Id = 0, + // Items = new List() { + // new OrderItem(){ + // CreateTime=DateTime.Now, + // OrderId=0, + // Price=1, + // ItemId=1 + // }, + // new OrderItem(){ + // CreateTime=DateTime.Now, + // OrderId=0, + // Price=2, + // ItemId=2 + // } + // } + // }) + // .AddSubList(it => it.Items.First().OrderId).ExecuteCommand(); - db.Insertable(new List() { - new RootTable0() - { - Name="aa", - TwoItem2=new TwoItem2() { - Id="1", - ThreeItem2=new List(){ - new ThreeItem2(){ Name="a", TwoItem2Id="1" }, - new ThreeItem2(){ Id=2, Name="a2", TwoItem2Id="2" } - } - }, - TwoItem=new TwoItem() - { - Name ="itema" , - RootId=2 - }, - TwoItem3=new List(){ - new TwoItem3(){ Id=0, Name="a",Desc="" }, + // db.Insertable(new List() { + // new RootTable0() + // { + // Name="aa", + // TwoItem2=new TwoItem2() { + // Id="1", + // ThreeItem2=new List(){ + // new ThreeItem2(){ Name="a", TwoItem2Id="1" }, + // new ThreeItem2(){ Id=2, Name="a2", TwoItem2Id="2" } + // } + // }, + // TwoItem=new TwoItem() + // { + // Name ="itema" , + // RootId=2 + // }, + // TwoItem3=new List(){ + // new TwoItem3(){ Id=0, Name="a",Desc="" }, - } - }, - new RootTable0() - { - Name="bb", - TwoItem2=new TwoItem2() { - Id="2" - }, - TwoItem=new TwoItem() - { - Name ="itemb" , - RootId=2, + // } + // }, + // new RootTable0() + // { + // Name="bb", + // TwoItem2=new TwoItem2() { + // Id="2" + // }, + // TwoItem=new TwoItem() + // { + // Name ="itemb" , + // RootId=2, - }, - TwoItem3=new List(){ - new TwoItem3(){ Id=1, Name="b",Desc="" }, - new TwoItem3(){ Id=2, Name="b1",Desc="1" }, - } - } - }) - .AddSubList(it => it.TwoItem.RootId) - .AddSubList(it => new SubInsertTree() - { - Expression = it.TwoItem2.RootId, - ChildExpression = new List() { - new SubInsertTree(){ - Expression=it.TwoItem2.ThreeItem2.First().TwoItem2Id - } - } - }) - .AddSubList(it => it.TwoItem3) - .ExecuteCommand(); + // }, + // TwoItem3=new List(){ + // new TwoItem3(){ Id=1, Name="b",Desc="" }, + // new TwoItem3(){ Id=2, Name="b1",Desc="1" }, + // } + // } + // }) + //.AddSubList(it => it.TwoItem.RootId) + //.AddSubList(it => new SubInsertTree() + //{ + // Expression = it.TwoItem2.RootId, + // ChildExpression = new List() { + // new SubInsertTree(){ + // Expression=it.TwoItem2.ThreeItem2.First().TwoItem2Id + // } + // } + //}) + //.AddSubList(it => it.TwoItem3) + //.ExecuteCommand(); - SubNoIdentity(db); - SubIdentity(db); + // SubNoIdentity(db); + // SubIdentity(db); var dict = new Dictionary(); @@ -158,11 +158,11 @@ namespace OrmTest db.Insertable(dict).AS("[Order]").ExecuteCommand(); - db.Fastest().BulkCopy(insertObjs); + //db.Fastest().BulkCopy(insertObjs); - var dataTable= db.Queryable().Select("id,name,Price").Take(2).ToDataTable(); - int result= db.Fastest().BulkCopy("order", dataTable); + //var dataTable= db.Queryable().Select("id,name,Price").Take(2).ToDataTable(); + //int result= db.Fastest().BulkCopy("order", dataTable); Console.WriteLine("#### Insertable End ####"); } diff --git a/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs b/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs index 510f6530b..15843948e 100644 --- a/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs +++ b/Src/Asp.Net/AccessTest/Demo/Demo7_Ado.cs @@ -39,35 +39,14 @@ namespace OrmTest var dt2 = db.Ado.GetDataTable("select * from [order] where @id>0 or name=@name", new { id = 1, name = "2" }); - //create sp - db.Ado.ExecuteCommand(@" - if object_id('up_user') is not null - drop proc up_user;"); - db.Ado.ExecuteCommand(@" - create proc up_user - @id int, - @name varchar(10) ='' output - as - - begin - set @name='abc' - select @id as id - end - "); - //get output - var dt3 = db.Ado.UseStoredProcedure().GetDataTable("up_user", new { name = "张三", id = 0 }); - var IdP = new SugarParameter("@id", 1); - var NameP = new SugarParameter("@name", null, true);//isOutput=true - var dt4 = db.Ado.UseStoredProcedure().GetDataTable("up_user", IdP, NameP); - var outputValue = NameP.Value; - + //There are many methods to under db.ado var list = db.Ado.SqlQuery("select * from [order] "); - var list2 = db.Ado.SqlQuery("select * from [order] where 1=2;select * from [order] "); + var list3 = db.Ado.SqlQuery(" delete from [order] where 2=15 "); var intValue = db.Ado.SqlQuerySingle("select 1"); - db.Ado.ExecuteCommand("delete [order] where id>1000"); + db.Ado.ExecuteCommand("delete from [order] where id>1000"); db.SqlQueryable(@"select * from custom").ToList(); diff --git a/Src/Asp.Net/AccessTest/Program.cs b/Src/Asp.Net/AccessTest/Program.cs index 15b4b3dee..c52df209a 100644 --- a/Src/Asp.Net/AccessTest/Program.cs +++ b/Src/Asp.Net/AccessTest/Program.cs @@ -19,24 +19,8 @@ namespace OrmTest Demo3_Insertable.Init(); Demo4_Deleteable.Init(); Demo5_SqlQueryable.Init(); - DemoN_SplitTable.Init(); - Demo6_Queue.Init(); Demo7_Ado.Init(); - Demo8_Saveable.Init(); - Demo9_EntityMain.Init(); - DemoA_DbMain.Init(); - DemoB_Aop.Init(); - DemoC_GobalFilter.Init(); - DemoD_DbFirst.Init();; - DemoE_CodeFirst.Init(); - DemoF_Utilities.Init(); - DemoG_SimpleClient.Init(); - DemoH_Tenant.Init(); - DemoJ_Report.Init(); - DemoL_Snowflake.Init(); - DemoM_UnitOfWork.Init(); - ; - + //DemoD_DbFirst.Init(); Console.WriteLine("all successfully."); Console.ReadKey(); } diff --git a/Src/Asp.Net/AccessTest/Test.accdb b/Src/Asp.Net/AccessTest/Test.accdb index 47b8c07fe..ebba70298 100644 Binary files a/Src/Asp.Net/AccessTest/Test.accdb and b/Src/Asp.Net/AccessTest/Test.accdb differ diff --git a/Src/Asp.Net/AccessTest/Test.laccdb b/Src/Asp.Net/AccessTest/Test.laccdb deleted file mode 100644 index c32ba73bf..000000000 Binary files a/Src/Asp.Net/AccessTest/Test.laccdb and /dev/null differ diff --git a/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs b/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs index fad996fcf..43ef96988 100644 --- a/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs +++ b/Src/Asp.Net/SqlSugar.Access/Access/DbMaintenance/AccessDbMaintenance.cs @@ -318,6 +318,7 @@ namespace SqlSugar.Access } public override List GetTableInfoList(bool isCache = true) { + // (this.Context.Ado.Connection as OleDbConnection).Open(); var table = (this.Context.Ado.Connection as OleDbConnection).GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "Table" }); var result= table .Rows.Cast().Select(it=>new DbTableInfo diff --git a/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs b/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs index d2164498a..e5e58357c 100644 --- a/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs +++ b/Src/Asp.Net/SqlSugar.Access/Access/SqlBuilder/AccessUpdateBuilder.cs @@ -8,5 +8,10 @@ namespace SqlSugar.Access { public class AccessUpdateBuilder : UpdateBuilder { + protected override string TomultipleSqlString(List> groupList) + { + throw new Exception("access no support batch update"); + } + } }