diff --git a/FreeSql.DbContext/DbSet/DbSetAsync.cs b/FreeSql.DbContext/DbSet/DbSetAsync.cs index 33f26e2a..de28479d 100644 --- a/FreeSql.DbContext/DbSet/DbSetAsync.cs +++ b/FreeSql.DbContext/DbSet/DbSetAsync.cs @@ -377,6 +377,16 @@ namespace FreeSql _db._entityChangeReport.AddRange(dels.Select(a => new DbContext.EntityChangeReport.ChangeInfo { Object = a.Value, Type = DbContext.EntityChangeType.Delete })); return Math.Max(dels.Length, affrows); } + /// + /// 根据 lambda 条件删除数据 + /// + /// + /// + async public Task RemoveAsync(Expression> predicate) + { + await DbContextExecCommandAsync(); + return await this.OrmDelete(null).Where(predicate).ExecuteAffrowsAsync(); + } #endregion #region AddOrUpdateAsync diff --git a/FreeSql.DbContext/DbSet/DbSetSync.cs b/FreeSql.DbContext/DbSet/DbSetSync.cs index 35f8b091..52068519 100644 --- a/FreeSql.DbContext/DbSet/DbSetSync.cs +++ b/FreeSql.DbContext/DbSet/DbSetSync.cs @@ -410,6 +410,16 @@ namespace FreeSql EnqueueToDbContext(DbContext.EntityChangeType.Delete, state); } } + /// + /// 根据 lambda 条件删除数据 + /// + /// + /// + public int Remove(Expression> predicate) + { + DbContextExecCommand(); + return this.OrmDelete(null).Where(predicate).ExecuteAffrows(); + } #endregion #region AddOrUpdate