SqlSugar/Src/Asp.Net/SqlServerTest/Demo/DemoB_Aop.cs

69 lines
2.3 KiB
C#
Raw Normal View History

2019-06-02 16:38:16 +08:00
using SqlSugar;
using System;
2017-04-30 17:26:45 +08:00
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
2019-06-02 19:37:47 +08:00
2019-06-02 15:31:27 +08:00
namespace OrmTest
2017-04-30 17:26:45 +08:00
{
2019-06-02 15:31:27 +08:00
public class DemoB_Aop
2017-04-30 17:26:45 +08:00
{
2019-06-02 15:31:27 +08:00
public static void Init()
{
2019-06-02 16:38:16 +08:00
Console.WriteLine("");
Console.WriteLine("#### Aop Start ####");
2019-06-02 15:31:27 +08:00
2019-06-02 16:38:16 +08:00
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
DbType = DbType.SqlServer,
ConnectionString = Config.ConnectionString,
InitKeyType = InitKeyType.Attribute,
2019-06-02 19:28:09 +08:00
IsAutoCloseConnection = true
2019-06-02 16:38:16 +08:00
});
2019-06-02 19:28:09 +08:00
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<string, SugarParameter[]>(sql, pars);
};
2019-06-02 19:35:59 +08:00
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
2019-06-02 19:36:49 +08:00
Console.WriteLine(businessData);
2019-06-02 19:35:59 +08:00
Console.WriteLine(editBeforeData[0].Columns[1].Value);
Console.WriteLine("to");
Console.WriteLine(editAfterData[0].Columns[1].Value);
//Write logic
};
2019-06-02 19:28:09 +08:00
2019-06-02 19:35:59 +08:00
2019-06-02 19:28:09 +08:00
db.Queryable<Order>().ToList();
db.Queryable<OrderItem>().ToList();
2019-06-02 16:38:16 +08:00
2019-06-02 19:35:59 +08:00
//OnDiffLogEvent
var data = db.Queryable<Order>().First();
data.Name = "changeName";
2019-06-02 19:36:49 +08:00
db.Updateable(data).EnableDiffLogEvent("--update Order--").ExecuteCommand();
2019-06-02 19:35:59 +08:00
2019-06-02 16:38:16 +08:00
Console.WriteLine("#### Aop End ####");
2019-06-02 15:31:27 +08:00
}
2017-04-30 17:26:45 +08:00
}
}