From 08409ea327c233de19361a8343f4ff525ef6d3b9 Mon Sep 17 00:00:00 2001 From: Mayue Date: Thu, 14 Jul 2022 16:32:47 +0800 Subject: [PATCH] feat:soft delete --- src/BuildingBlocks/MASA.BuildingBlocks | 2 +- .../DataFiltering/SoftDeleteSaveChangesFilter.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BuildingBlocks/MASA.BuildingBlocks b/src/BuildingBlocks/MASA.BuildingBlocks index b7253ca71..32a9c7b38 160000 --- a/src/BuildingBlocks/MASA.BuildingBlocks +++ b/src/BuildingBlocks/MASA.BuildingBlocks @@ -1 +1 @@ -Subproject commit b7253ca712ccbd5230d46184699e62e902d0fbd5 +Subproject commit 32a9c7b38c51fc1421b907cd4a74c2b8b2fba4c5 diff --git a/src/Data/Masa.Contrib.Data.Contracts.EF/DataFiltering/SoftDeleteSaveChangesFilter.cs b/src/Data/Masa.Contrib.Data.Contracts.EF/DataFiltering/SoftDeleteSaveChangesFilter.cs index 429efd66f..4f406e70a 100644 --- a/src/Data/Masa.Contrib.Data.Contracts.EF/DataFiltering/SoftDeleteSaveChangesFilter.cs +++ b/src/Data/Masa.Contrib.Data.Contracts.EF/DataFiltering/SoftDeleteSaveChangesFilter.cs @@ -32,7 +32,7 @@ public void OnExecuting(ChangeTracker changeTracker) var entries = changeTracker.Entries().Where(entry => entry.State == EntityState.Deleted && entry.Entity is ISoftDelete); foreach (var entity in entries) { - HandleNavigationEntry(entity.Navigations.Where(n => !((IReadOnlyNavigation)n.Metadata).IsOnDependent)); + HandleNavigationEntry(entity.Navigations.Where(n => (n.Metadata is not ISkipNavigation) && !((IReadOnlyNavigation)n.Metadata).IsOnDependent)); entity.State = EntityState.Modified; entity.CurrentValues[nameof(ISoftDelete.IsDeleted)] = true;