From 900d179c9f9cf4e3e58a8ab9ec92566a03585bbf Mon Sep 17 00:00:00 2001 From: Ibrahim Hammad Date: Tue, 14 Jul 2020 15:25:00 +0200 Subject: [PATCH] Reverse WorkflowInstanceEntity.Scopes on deserialization (#342) There is a known issue in Newtonsoft.Json is reversing the stack after deserialization we have to manually reversing it. --- .../DbContexts/ElsaContext.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs b/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs index 891c7aee4..b422fbe3d 100644 --- a/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs +++ b/src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs @@ -94,7 +94,7 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts .Property(x => x.Scopes) .HasConversion( x => Serialize(x), - x => Deserialize>(x) + x => DeserializeScopes(x) ); entity @@ -176,5 +176,11 @@ namespace Elsa.Persistence.EntityFrameworkCore.DbContexts { return JsonConvert.DeserializeObject(json, serializerSettings); } + + private Stack DeserializeScopes(string json) + { + var reversedScopes = JsonConvert.DeserializeObject>(json, serializerSettings); + return reversedScopes is { } ? new Stack(reversedScopes) : null; + } } } \ No newline at end of file