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