重载删除方法实现逻辑删除 返回
public override async Task<bool> DeleteAsync(Expression<Func<T, bool>> whereExpression)
{
if (typeof(T).IsSubclassOf(typeof(EntityBaseDel)))
{
Console.WriteLine("Using logic delete");
// 1. 先查询要删除的记录数
var beforeCount = await base.Context.Queryable<T>()
.Where(whereExpression)
.CountAsync();
Console.WriteLine($"Records to delete: {beforeCount}");
int nums= await base.Context.Deleteable<T>().Where(whereExpression).IsLogic().ExecuteCommandAsync();
var beforeCount2 = await base.Context.Queryable<T>()
.Where(whereExpression)
.CountAsync();
Console.WriteLine($"Records to delete: {beforeCount2}");
return nums > 0;
}
else
{
// return await base.DeleteAsync(entity);
return await Context.Deleteable<T>().Where(whereExpression).ExecuteCommandAsync() > 0;
}
}
第一次调用 可以实现逻辑删除 第二次调用就不行了 不懂的数据
热忱回答(2)
-
fate sta VIP0
2026/3/12学会AOP监控SQL,通过监控SQL找问题
0 回复 -
忘记了 VIP0
2026/3/13问题已经解决
0 回复