From abfe8e822201e3d5f343ec921ce1de0dd8feebe3 Mon Sep 17 00:00:00 2001 From: "610262374@qq.com" <610262374@qq.com> Date: Wed, 2 Jan 2019 15:36:04 +0800 Subject: [PATCH] Update Demo --- .../SqlSeverTest/SqliteTest/Config.cs | 2 +- .../SqliteTest/DataBase/SqlSugar4xTest.sqlite | Bin 421888 -> 446464 bytes .../SqlSeverTest/SqliteTest/Demos/9_Aop.cs | 89 ++++++++++++++++++ .../SqlSeverTest/SqliteTest/Program.cs | 1 + 4 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Demos/9_Aop.cs diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Config.cs b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Config.cs index 8be4914d7..ee581cb81 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Config.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Config.cs @@ -8,6 +8,6 @@ namespace OrmTest { public class Config { - public static string ConnectionString = @"DataSource=F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\Src\Asp.NetCore2\SqlSeverTest\SqliteTest\DataBase\SqlSugar4xTest.sqlite"; + public static string ConnectionString = @"DataSource=F:\GIT\SqlSugar\Src\Asp.NetCore2\SqlSeverTest\SqliteTest\DataBase\SqlSugar4xTest.sqlite"; } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/DataBase/SqlSugar4xTest.sqlite index 6b17e7cba458315c355f976c6ddc85f2a0cdcf63..e93b485227a10c78fe261acadfaaace45f6f9036 100644 GIT binary patch literal 446464 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 S>opzmzlZBJ9r3?cs{Q}TUSrz; literal 421888 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 M89S2yYCYrs3!;vfb^rhX diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Demos/9_Aop.cs b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Demos/9_Aop.cs new file mode 100644 index 000000000..f80c4507f --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Demos/9_Aop.cs @@ -0,0 +1,89 @@ +using OrmTest.Models; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OrmTest.Demo +{ + public class Aop + { + + public static void Init() + { + SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.Sqlite, IsAutoCloseConnection = true }); + + + db.Aop.OnLogExecuted = (sql, pars) => + { + Console.Write("time:" + db.Ado.SqlExecutionTime.ToString()); + }; + db.Aop.OnLogExecuting = (sql, pars) => + { + + }; + db.Aop.OnError = (exp) => + { + + }; + db.Aop.OnExecutingChangeSql = (sql, pars) => + { + return new KeyValuePair(sql, pars); + }; + + db.Queryable().ToList(); + + try + { + db.Queryable().AS(" ' ").ToList(); + } + catch (Exception) + { + + + } + + + //diff log demo + + db.Aop.OnDiffLogEvent = it => + { + var editBeforeData = it.BeforeData; + var editAfterData = it.AfterData; + var sql = it.Sql; + var parameter = it.Parameters; + var data = it.BusinessData; + var type = it.DiffType; + var time = it.Time; + }; + var x= db.Ado.SqlExecutionTime; + + var id = db.Insertable(new Student() { Name = "beforeName" }) + .EnableDiffLogEvent(new { title="add student"}) + .ExecuteReturnIdentity(); + + + db.Updateable(new Student() + { + Id = id, + CreateTime = DateTime.Now, + Name = "afterName", + SchoolId = 2 + }) + .EnableDiffLogEvent(new { title = "update Student", Modular = 1, Operator = "admin" }) + .ExecuteCommand(); + + + db.Deleteable(id) + .EnableDiffLogEvent(new { title = "delete student" }) + .ExecuteCommand(); + + + //primary key guid + db.Insertable(new DataTestInfo2() { Bool1=true, Bool2=false, PK=Guid.NewGuid(), Text1="a" }) + .EnableDiffLogEvent(new { title = "add DataTestInfo2" }) + .ExecuteReturnIdentity(); + } + } +} \ No newline at end of file diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Program.cs b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Program.cs index fdd5e1d2c..48056ca73 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Program.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqliteTest/Program.cs @@ -47,6 +47,7 @@ namespace OrmTest OrmTest.Demo.Filter.Init(); OrmTest.Demo.ComplexModel.Init(); OrmTest.Demo.CodeFirst.Init(); + OrmTest.Demo.Aop.Init(); } } }