From 5ea66a24ed65b7837bb1adc11ec7a9c2b7a8a80a Mon Sep 17 00:00:00 2001 From: Rachael Ross Date: Tue, 22 Jun 2021 13:29:23 -0700 Subject: [PATCH] fix: Fixed inverse relationship when null using hooks --- .../Hooks/Internal/ResourceHookExecutor.cs | 9 +++++++-- src/JsonApiDotNetCore/JsonApiDotNetCore.csproj | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/JsonApiDotNetCore/Hooks/Internal/ResourceHookExecutor.cs b/src/JsonApiDotNetCore/Hooks/Internal/ResourceHookExecutor.cs index e8f51e551d..9cefbe4f51 100644 --- a/src/JsonApiDotNetCore/Hooks/Internal/ResourceHookExecutor.cs +++ b/src/JsonApiDotNetCore/Hooks/Internal/ResourceHookExecutor.cs @@ -445,8 +445,13 @@ private void FireForAffectedImplicits(Type resourceTypeToInclude, IDictionary inverse = - implicitAffected.ToDictionary(pair => _resourceGraph.GetInverseRelationship(pair.Key), pair => pair.Value); + Dictionary inverse = new Dictionary(); + foreach(KeyValuePair pair in implicitAffected) + { + var inverseRelationship = _resourceGraph.GetInverseRelationship(pair.Key); + if (inverseRelationship != null) + inverse.Add(inverseRelationship, pair.Value); + } IRelationshipsDictionary resourcesByRelationship = CreateRelationshipHelper(resourceTypeToInclude, inverse); CallHook(container, ResourceHook.BeforeImplicitUpdateRelationship, ArrayFactory.Create(resourcesByRelationship, pipeline)); diff --git a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj index 3ba47e36c9..cc8490806e 100644 --- a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj +++ b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj @@ -18,8 +18,10 @@ Modified by Projekt202 embedded false Projekt202.JsonApiDotNetCore - 4.1.2 + 4.1.2.1 https://github.com/projekt202/JsonApiDotNetCore + 4.1.2.1 + 4.1.2.1