實體框架的預設行為包括查詢結果中的軟體刪除實體。若要自動過濾掉這些實體,請考慮以下解決方案。
利用 EntityFramework.DynamicFilters 庫將全域篩選器套用至查詢,包含針對導覽屬性。透過在實體中實作 ISoftDelete 介面並在 DbContext.OnModelCreating() 方法中定義篩選器,您可以自動從查詢結果中排除軟體刪除的實體。
modelBuilder.Filter("IsDeleted", (ISoftDelete d) => d.IsDeleted, false);
此篩選器將在任何實體上註入 where 子句針對實作 ISoftDelete 的實體進行查詢,有效排除那些標記為已刪除的實體。
以上是如何使用實體框架過濾掉軟體刪除實體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!