mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 02:14:53 +08:00
Update diff log
This commit is contained in:
@@ -47,21 +47,24 @@ namespace OrmTest
|
|||||||
var time = it.Time;
|
var time = it.Time;
|
||||||
var diffType = it.DiffType;//enum insert 、update and delete
|
var diffType = it.DiffType;//enum insert 、update and delete
|
||||||
Console.WriteLine(businessData);
|
Console.WriteLine(businessData);
|
||||||
Console.WriteLine(editBeforeData[0].Columns[1].Value);
|
|
||||||
Console.WriteLine("to");
|
|
||||||
Console.WriteLine(editAfterData[0].Columns[1].Value);
|
|
||||||
//Write logic
|
//Write logic
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
db.Queryable<Order>().ToList();
|
var list= db.Queryable<Order>().ToList();
|
||||||
db.Queryable<OrderItem>().ToList();
|
db.Queryable<OrderItem>().ToList();
|
||||||
|
|
||||||
//OnDiffLogEvent
|
//OnDiffLogEvent
|
||||||
var data = db.Queryable<Order>().First();
|
var data = db.Queryable<Order>().First();
|
||||||
|
|
||||||
|
db.Insertable(list.Take(5).ToList()).EnableDiffLogEvent().ExecuteCommand();
|
||||||
|
|
||||||
|
db.Insertable(new Order() { CreateTime=DateTime.Now, CustomId=1, Name="a" ,Price=1 }).EnableDiffLogEvent().ExecuteCommand();
|
||||||
|
|
||||||
data.Name = "changeName";
|
data.Name = "changeName";
|
||||||
db.Updateable(data).EnableDiffLogEvent("--update Order--").ExecuteCommand();
|
db.Updateable(data).EnableDiffLogEvent("--update Order--").ExecuteCommand();
|
||||||
|
|
||||||
|
db.Updateable(list.Take(5).ToList()).EnableDiffLogEvent("--update Order--").ExecuteCommand();
|
||||||
Console.WriteLine("#### Aop End ####");
|
Console.WriteLine("#### Aop End ####");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public IUpdateable<T> EnableDiffLogEvent(object businessData = null)
|
public IUpdateable<T> EnableDiffLogEvent(object businessData = null)
|
||||||
{
|
{
|
||||||
Check.Exception(this.UpdateObjs.HasValue() && this.UpdateObjs.Count() > 1, "DiffLog does not support batch operations");
|
//Check.Exception(this.UpdateObjs.HasValue() && this.UpdateObjs.Count() > 1, "DiffLog does not support batch operations");
|
||||||
diffModel = new DiffLogModel();
|
diffModel = new DiffLogModel();
|
||||||
this.IsEnableDiffLogEvent = true;
|
this.IsEnableDiffLogEvent = true;
|
||||||
diffModel.BusinessData = businessData;
|
diffModel.BusinessData = businessData;
|
||||||
@@ -807,8 +807,8 @@ namespace SqlSugar
|
|||||||
private List<DiffLogTableInfo> GetDiffTable(string sql, List<SugarParameter> parameters)
|
private List<DiffLogTableInfo> GetDiffTable(string sql, List<SugarParameter> parameters)
|
||||||
{
|
{
|
||||||
List<DiffLogTableInfo> result = new List<DiffLogTableInfo>();
|
List<DiffLogTableInfo> result = new List<DiffLogTableInfo>();
|
||||||
var whereSql = Regex.Replace(sql, ".* WHERE ", "", RegexOptions.Singleline);
|
//var whereSql = Regex.Replace(sql, ".* WHERE ", "", RegexOptions.Singleline);
|
||||||
var dt = this.Context.Queryable<T>().Where(whereSql).AddParameters(parameters).ToDataTable();
|
var dt = this.Context.Queryable<T>().WhereClassByPrimaryKey(this.UpdateObjs.ToList()).ToDataTable();
|
||||||
if (dt.Rows != null && dt.Rows.Count > 0)
|
if (dt.Rows != null && dt.Rows.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (DataRow row in dt.Rows)
|
foreach (DataRow row in dt.Rows)
|
||||||
|
|||||||
Reference in New Issue
Block a user