回收站
本文介绍 EasyAdminBlazor 的回收站(软删除)能力:删除不物理删除、可恢复、可彻底删除。
功能概述
- 软删除:实现
IEntitySoftDelete的实体(继承EntityFull系列)被删除时,只会把IsDeleted置为true,记录仍在数据库中。 - 自动过滤:全局过滤器会自动排除已软删除的数据,正常列表、查询、统计都看不到删掉的记录。
- 回收站入口:管理页面(AdminTable)工具栏提供「回收站」开关,只有软删除实体才会出现这个入口。
- 可恢复:回收站中可以把记录恢复回正常列表。
- 彻底删除:确认后才会真正从数据库删除,避免误操作。
使用方法
1. 让实体支持软删除
实体继承 EntityFull(或实现 IEntitySoftDelete)即可:
public class Product : EntityFull
{
public string Name { get; set; } = string.Empty;
}
2. 删除记录
在管理页面正常点击删除,记录会进入回收站,而不是从数据库消失。
3. 打开回收站
页面工具栏点击「回收站」,列表切换为只显示已软删除的记录;再点一次退出回收站,回到正常列表。
4. 恢复或彻底删除
- 恢复:选中记录后点击恢复,
IsDeleted置回false,记录重新出现在正常列表。 - 批量还原:回收站支持多选后批量恢复。
- 彻底删除:需要二次确认,确认后记录才会从数据库中物理删除,无法再恢复。
界面说明
- 工具栏回收站开关:进入/退出回收站模式;回收站模式下会隐藏新增、导入等入口,避免误操作。
- 回收站列表:只显示已删除记录,操作列提供恢复与彻底删除。
- 二次确认:彻底删除会弹出确认提示。
注意事项
- 回收站是 AdminTable 的内置能力,页面无需额外开发,实体支持软删除即可。
- 未实现软删除的实体被删除时是物理删除,不会进入回收站。
- 回收站数据仍占用数据库空间,需要清理时使用「彻底删除」。