From 3250e7031ebf94d9d9a27e629e04912b0f799e15 Mon Sep 17 00:00:00 2001 From: AlexLEWIS Date: Fri, 6 Aug 2021 11:31:00 +0800 Subject: [PATCH] =?UTF-8?q?Updated=20=E5=88=A0=E9=99=A4=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 删除.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/删除.md b/删除.md index b208a95..29477fb 100644 --- a/删除.md +++ b/删除.md @@ -1,6 +1,8 @@ -删除是一个非常危险的操作,FreeSql对删除支持并不强大,默认仅支持单表、且有条件的删除方法。 +**中文** | [English](Delete-Data) -若Where条件为空的时候执行,仅返回0或默认值,不执行真正的SQL删除操作。 +删除是一个非常危险的操作,FreeSql 对删除支持并不强大,默认仅支持单表、且有条件的删除方法。 + +若 `Where` 条件为空的时候执行,仅返回 `0` 或默认值,不执行真正的 SQL 删除操作。 ```csharp static IFreeSql fsql = new FreeSql.FreeSqlBuilder() @@ -21,13 +23,14 @@ class Topic { ```csharp fsql.Delete(object dywhere) ``` -dywhere 支持 + +`dywhere` 支持: * 主键值 -* new[] { 主键值1, 主键值2 } -* Topic对象 -* new[] { Topic对象1, Topic对象2 } -* new { id = 1 } +* `new[] { 主键值1, 主键值2 }` +* Topic 对象 +* `new[] { Topic对象1, Topic对象2 }` +* `new { id = 1 }` ```csharp var t1 = fsql.Delete(new[] { 1, 2 }).ToSql(); @@ -45,7 +48,7 @@ var t4 = fsql.Delete(new { id = 1 }).ToSql(); ## 删除条件 -> 出于安全考虑,没有条件不执行删除动作,避免误删除全表数据。删除全表数据:fsql.Delete\().Where("1=1").ExecuteAffrows() +> 出于安全考虑,没有条件不执行删除动作,避免误删除全表数据。删除全表数据:`fsql.Delete().Where("1=1").ExecuteAffrows()` ```csharp var t5 = fsql.Delete().Where(a => a.Id == 1).ToSql(); @@ -66,7 +69,7 @@ var t8 = fsql.Delete().Where(items).ToSql(); ## ISelect.ToDelete 高级删除 -IDelete 默认不支持导航对象,多表关联等。ISelect.ToDelete 可将查询转为 IDelete,以便使用导航对象删除数据,如下: +`IDelete` 默认不支持导航对象,多表关联等。`ISelect.ToDelete` 可将查询转为 `IDelete`,以便使用导航对象删除数据,如下: ```csharp fsql.Select().Where(a => a.Options.xxx == 1).ToDelete().ExecuteAffrows(); @@ -80,7 +83,7 @@ DELETE FROM `T1` WHERE id in (select a.id from T1 a left join Options b on b.t1i 复杂删除使用此方法的好处: - 删除前可预览测试数据,防止错误删除操作; -- 支持复杂的删除操作,例如:ISelect 上使用 Limit(10) 删除附合条件的前 10 条记录; +- 支持复杂的删除操作,例如:`ISelect` 上使用 `Limit(10)` 删除附合条件的前 10 条记录; ## 参考资料