Skip to content

删除

Db.Delete<TEntity>() 也带有安全保护:如果你没有提供任何条件,框架会阻止无条件删表。

删除单条记录

csharp
var entityId = 1;
var affectedRows = Db.Delete<EntityClass>(entityId).Execute();
csharp
var entityId = 1;
var affectedRows = await Db.Delete<EntityClass>(entityId).ExecuteAsync();

也可以直接删已加载的实体:

csharp
var affectedRows = Db.Delete(entity).Execute();

删除多条记录

csharp
var entityIds = new[] { 1, 2, 3 };
var affectedRows = Db.DeleteMany<EntityClass>(entityIds).Execute();

带 where 条件的删除

csharp
var idsToDelete = new[] { 1, 2, 3 };
var affectedRows = Db.Delete<EntityClass>()
    .WhereIn(i => i.Id, idsToDelete)
    .WhereEq(i => i.Name, "Tom")
    .WhereLt(i => i.Age, 18)
    .Execute();

所有删除类方法也都提供对应的 ExecuteAsync 版本。