From e21aa5d0f07126db3d36ad621f6dffd8cbc828ee Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sat, 28 Aug 2021 22:30:33 +0800 Subject: [PATCH] Update demo --- .../SqlServerTest/Demo/Demo8_Saveable.cs | 12 ++-- .../SqlServerTest/Demo/DemoH_Tenant.cs | 4 +- .../SqlServerTest/Demo/DemoJ_Report.cs | 2 +- .../SqlServerTest/Demo/DemoL_Snowflake.cs | 2 +- .../SqlServerTest/Demo/DemoM_UnitOfWork.cs | 72 +++++++++++++++++++ Src/Asp.Net/SqlServerTest/Program.cs | 1 + .../SqlServerTest/SqlServerTest.csproj | 1 + 7 files changed, 82 insertions(+), 12 deletions(-) create mode 100644 Src/Asp.Net/SqlServerTest/Demo/DemoM_UnitOfWork.cs diff --git a/Src/Asp.Net/SqlServerTest/Demo/Demo8_Saveable.cs b/Src/Asp.Net/SqlServerTest/Demo/Demo8_Saveable.cs index 79a1ce33a..52af40a91 100644 --- a/Src/Asp.Net/SqlServerTest/Demo/Demo8_Saveable.cs +++ b/Src/Asp.Net/SqlServerTest/Demo/Demo8_Saveable.cs @@ -32,15 +32,11 @@ namespace OrmTest //insert or update - db.Saveable(new Order() { Id=1, Name="jack" }).ExecuteReturnEntity(); - - - //insert or update - db.Saveable(new Order() { Id = 1000, Name = "jack", CreateTime=DateTime.Now }) - .InsertColumns(it => new { it.Name,it.CreateTime, it.Price})//if insert into name,CreateTime,Price - .UpdateColumns(it => new { it.Name, it.CreateTime })//if update set name CreateTime - .ExecuteReturnEntity(); + var x= db.Storageable(new Order() { Id=1, Name="jack" }).ToStorage(); + x.AsUpdateable.ExecuteCommand(); + x.AsInsertable.ExecuteCommand(); + Console.WriteLine(""); Console.WriteLine("#### Saveable End ####"); } diff --git a/Src/Asp.Net/SqlServerTest/Demo/DemoH_Tenant.cs b/Src/Asp.Net/SqlServerTest/Demo/DemoH_Tenant.cs index 9dd7d6da2..16fdd3826 100644 --- a/Src/Asp.Net/SqlServerTest/Demo/DemoH_Tenant.cs +++ b/Src/Asp.Net/SqlServerTest/Demo/DemoH_Tenant.cs @@ -13,9 +13,9 @@ namespace OrmTest public static void Init() { Console.WriteLine(""); - Console.WriteLine("#### SimpleClient Start ####"); + Console.WriteLine("#### DemoH_Tenant Start ####"); new C1Service().Test(); - Console.WriteLine("#### SimpleClient End ####"); + Console.WriteLine("#### DemoH_Tenant End ####"); } public class C1Service : Repository { diff --git a/Src/Asp.Net/SqlServerTest/Demo/DemoJ_Report.cs b/Src/Asp.Net/SqlServerTest/Demo/DemoJ_Report.cs index bb09d5a64..2089b0545 100644 --- a/Src/Asp.Net/SqlServerTest/Demo/DemoJ_Report.cs +++ b/Src/Asp.Net/SqlServerTest/Demo/DemoJ_Report.cs @@ -12,7 +12,7 @@ namespace OrmTest public static void Init() { Console.WriteLine(""); - Console.WriteLine("#### Utilities Start ####"); + Console.WriteLine("#### DemoJ_Report Start ####"); SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { diff --git a/Src/Asp.Net/SqlServerTest/Demo/DemoL_Snowflake.cs b/Src/Asp.Net/SqlServerTest/Demo/DemoL_Snowflake.cs index eb947ac7c..7111083d9 100644 --- a/Src/Asp.Net/SqlServerTest/Demo/DemoL_Snowflake.cs +++ b/Src/Asp.Net/SqlServerTest/Demo/DemoL_Snowflake.cs @@ -12,7 +12,7 @@ namespace OrmTest public static void Init() { Console.WriteLine(""); - Console.WriteLine("#### Utilities Start ####"); + Console.WriteLine("#### DemoL_Snowflake ####"); SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { diff --git a/Src/Asp.Net/SqlServerTest/Demo/DemoM_UnitOfWork.cs b/Src/Asp.Net/SqlServerTest/Demo/DemoM_UnitOfWork.cs new file mode 100644 index 000000000..2c8006cc1 --- /dev/null +++ b/Src/Asp.Net/SqlServerTest/Demo/DemoM_UnitOfWork.cs @@ -0,0 +1,72 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest +{ + public class DemoM_UnitOfWork + { + public static void Init() + { + Console.WriteLine(""); + Console.WriteLine("#### DemoM_UnitOfWork ####"); + + + DbContext.Db.UseTran(() => + { + + var id = DbContext.CustomDal.InsertReturnIdentity(new Custom() { Id = 1, Name = "guid" }); + var id2 = DbContext.OrderDal.InsertReturnIdentity(new Order() { Name = "guid2", Price = 0, CreateTime = DateTime.Now, CustomId = 1 }); + throw new Exception(""); + }, + e => + { + //throw e; + }); + Console.WriteLine(""); + Console.WriteLine("#### Saveable End ####"); + } + public class DbContext + { + public static SqlSugarScope Db = new SqlSugarScope(new ConnectionConfig() + { + DbType = SqlSugar.DbType.SqlServer, + ConnectionString = Config.ConnectionString, + IsAutoCloseConnection = true + }, db => { + //单例参数配置,所有上下文生效 + db.Aop.OnLogExecuting = (s, p) => + { + Console.WriteLine(s); + }; + }); + + public static DbSet OrderDal => new DbSet(); + public static DbSet CustomDal => new DbSet(); + + + public class DbSet : SimpleClient where T : class, new() + { + public DbSet(ISqlSugarClient context = null) : base(context)//需要有构造参数 + { + base.Context = DbContext.Db; + } + + /// + /// 扩展方法,自带方法不能满足的时候可以添加新方法 + /// + /// + public List CommQuery(string json) + { + //base.Context.Queryable().ToList();可以拿到SqlSugarClient 做复杂操作 + return null; + } + + } + } + + } +} diff --git a/Src/Asp.Net/SqlServerTest/Program.cs b/Src/Asp.Net/SqlServerTest/Program.cs index 7a7cec647..117a5cf10 100644 --- a/Src/Asp.Net/SqlServerTest/Program.cs +++ b/Src/Asp.Net/SqlServerTest/Program.cs @@ -33,6 +33,7 @@ namespace OrmTest DemoH_Tenant.Init(); DemoJ_Report.Init(); DemoL_Snowflake.Init(); + DemoM_UnitOfWork.Init(); //Unit test //NewUnitTest.Init(); diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj index 5ed2bb2f9..8404479a1 100644 --- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj +++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj @@ -81,6 +81,7 @@ +