Add db.Aop.DataExecuting

This commit is contained in:
sunkaixuna
2021-08-01 14:11:51 +08:00
parent 2d5f95c167
commit 31231b12f4
7 changed files with 98 additions and 0 deletions

View File

@@ -24,6 +24,38 @@ namespace OrmTest
x=SqlSugar.SqlFunc.Subqueryable<Order>().Select(s=>s.Id)
}).ToList();
db.CurrentConnectionConfig.ConfigureExternalServices = new SqlSugar.ConfigureExternalServices();
db.Aop.DataExecuting = (value, entityInfo) =>
{
if (entityInfo.PropertyName == "Price"&&entityInfo.OperationType==SqlSugar.DataFilterType.InsertByObject)
{
entityInfo.SetValue(1);
}
if (entityInfo.PropertyName == "CreateTime" && entityInfo.OperationType == SqlSugar.DataFilterType.InsertByObject)
{
entityInfo.SetValue(DateTime.Now);
}
if (entityInfo.PropertyName == "Price" && entityInfo.OperationType == SqlSugar.DataFilterType.UpdateByObject)
{
entityInfo.SetValue(-1);
}
};
var id= db.Insertable(new Order()
{
CustomId = 1,
Name = "a"
}).ExecuteReturnIdentity();
var data = db.Queryable<Order>().InSingle(id);
if (data.Price != 1)
{
throw new Exception("Unit Aop error");
}
db.Updateable(data).ExecuteCommand();
if (data.Price != -1)
{
throw new Exception("Unit Aop error");
}
}
}
}