簡體   English   中英

捕獲在EF硬刪除中刪除了誰

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM