![](/img/trans.png)
[英]Soft delete on Parent Entity but Hard delete on Child/Relationship EF Core
[英]Capture who deleted in EF hard delete
我通過標記EntityState.Deleted;
通過硬刪除來刪除實體EntityState.Deleted;
我還在數據庫表中啟用了CDC。
如何通過實體框架從應用程序中捕獲deleteby?
我試圖設置deletebyby值。 但是,然后實體狀態處於“已刪除”狀態,更新后的值未反映在表中。 請不要建議先更新“ deletedby”列值,然后再執行實際刪除。
似乎您想使用EF進行審核。
我建議在saveChanges方法上執行所需的功能。
如果您使用context.SaveChanges(),我建議將其覆蓋。
public class YourContext
{
public override int SaveChanges()
{
AuditDeletedEntries();
base.SaveChanges();
}
private void AuditDeletedEntries()
{
ChangeTracker.Entries<yourclassType>().Where(x => x.State == EntityState.Deleted).ToList().Select(x => x.Entity) as List<yourclassType>;
// write changes to your database
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.