using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OrmTest { public class DemoB_Aop { public static void Init() { Console.WriteLine(""); Console.WriteLine("#### Aop Start ####"); SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { DbType = DbType.MySql, ConnectionString = Config.ConnectionString, InitKeyType = InitKeyType.Attribute, IsAutoCloseConnection = true }); db.Aop.OnLogExecuted = (sql, pars) => //SQL executed event { Console.WriteLine("OnLogExecuted"+sql); }; db.Aop.OnLogExecuting = (sql, pars) => //SQL executing event (pre-execution) { Console.WriteLine("OnLogExecuting" + sql); }; db.Aop.OnError = (exp) =>//SQL execution error event { //exp.sql }; db.Aop.OnExecutingChangeSql = (sql, pars) => //SQL executing event (pre-execution,SQL script can be modified) { return new KeyValuePair(sql, pars); }; db.Aop.OnDiffLogEvent = it =>//Get data changes { var editBeforeData = it.BeforeData; var editAfterData = it.AfterData; var sql = it.Sql; var parameter = it.Parameters; var businessData = it.BusinessData; var time = it.Time; var diffType = it.DiffType;//enum insert 、update and delete Console.WriteLine(businessData); Console.WriteLine(editBeforeData[0].Columns[1].Value); Console.WriteLine("to"); Console.WriteLine(editAfterData[0].Columns[1].Value); //Write logic }; db.Queryable().ToList(); db.Queryable().ToList(); //OnDiffLogEvent var data = db.Queryable().First(); data.Name = "changeName"; db.Updateable(data).EnableDiffLogEvent("--update Order--").ExecuteCommand(); Console.WriteLine("#### Aop End ####"); } } }