重载删除方法实现逻辑删除 返回

SqlSugar 沟通中
2 418

    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