Gremlinq / ExRam.Gremlinq

A .NET object-graph-mapper for Apache TinkerPop™ Gremlin enabled databases.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Get exceptions when querying

Kedi1997 opened this issue · comments

Describe the bug
Trying to use g.V<>() to get results from Cosmos, exception thrown out

Expected behavior

        "stackTrace": "   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass13_0`2.<CreateFunc3>b__0(TSerialized serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 116\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.TryDeserialize[TSerialized](TSerialized serializedData, Type fragmentType, IGremlinQueryEnvironment environment) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 47\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_12(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 321\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_13(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 331\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_14(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 336\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_15(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 368\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass13_0`2.<CreateFunc3>b__0(TSerialized serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 116\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.TryDeserialize[TSerialized](TSerialized serializedData, Type fragmentType, IGremlinQueryEnvironment environment) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 47\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_16(JArray jArray, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 374\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_17(JArray jArray, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 385\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_18(JArray jArray, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 393\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass13_0`2.<CreateFunc3>b__0(TSerialized serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 116\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.TryDeserialize[TSerialized](TSerialized serializedData, Type fragmentType, IGremlinQueryEnvironment environment) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 47\r\n   at ExRam.Gremlinq.Core.GremlinQueryEnvironmentCache.GremlinQueryEnvironmentCacheImpl.GraphsonJsonSerializer.JTokenConverterConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) in /_/src/ExRam.Gremlinq.Core/Cache/GremlinQueryEnvironmentCache.cs:line 147\r\n   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)\r\n   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)\r\n   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)\r\n   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Populate(JsonReader reader, Object target)\r\n   at Newtonsoft.Json.JsonSerializer.PopulateInternal(JsonReader reader, Object target)\r\n   at Newtonsoft.Json.JsonSerializer.Populate(JsonReader reader, Object target)\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_0(JToken jToken, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 159\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_1(JToken jToken, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 180\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_2(JToken jToken, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 184\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_10(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 285\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_11(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 311\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_12(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 324\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_13(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 331\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_14(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 336\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_15(JObject jObject, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 368\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass13_0`2.<CreateFunc3>b__0(TSerialized serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 116\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.TryDeserialize[TSerialized](TSerialized serializedData, Type fragmentType, IGremlinQueryEnvironment environment) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 47\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.<>c.<AddNewtonsoftJson>b__5_18(JArray jArray, Type type, IGremlinQueryEnvironment env, Func`5 overridden, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 412\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass8_0`1.<Override>b__0(TSerialized fragment, Type type, IGremlinQueryEnvironment env, Func`5 _, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 58\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass11_0`2.<CreateFunc1>b__0(TStatic serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 106\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.<>c__DisplayClass13_0`2.<CreateFunc3>b__0(TSerialized serialized, Type fragmentType, IGremlinQueryEnvironment environment, IGremlinQueryFragmentDeserializer recurse) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 116\r\n   at ExRam.Gremlinq.Core.GremlinQueryFragmentDeserializer.GremlinQueryFragmentDeserializerImpl.TryDeserialize[TSerialized](TSerialized serializedData, Type fragmentType, IGremlinQueryEnvironment environment) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryFragmentDeserializer.cs:line 47\r\n   at ExRam.Gremlinq.Core.GremlinQueryExecutionResultDeserializer.GremlinQueryExecutionResultDeserializerImpl.Deserialize[TElement](Object executionResult, IGremlinQueryEnvironment environment) in /_/src/ExRam.Gremlinq.Core/Deserialization/GremlinQueryExecutionResultDeserializer.cs:line 21\r\n   at ExRam.Gremlinq.Core.GremlinQuery`6.<ExRam.Gremlinq.Core.IGremlinQueryBase<TElement>.ToAsyncEnumerable>b__210_0(Object executionResult) in /_/src/ExRam.Gremlinq.Core/Queries/GremlinQuery.explicit.cs:line 227\r\n   at System.Linq.AsyncEnumerable.SelectManyAsyncIterator`2.ToListAsync(CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SelectMany.cs:line 434\r\n   at System.Linq.AsyncEnumerable.SelectManyAsyncIterator`2.ToListAsync(CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SelectMany.cs:line 432\r\n   at System.Linq.AsyncEnumerable.SelectManyAsyncIterator`2.ToArrayAsync(CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/SelectMany.cs:line 423\r\n   at ExRam.Gremlinq.Core.GremlinQueryAwaiter`1.GetResult() in /_/src/ExRam.Gremlinq.Core/Queries/GremlinQueryAwaiter.cs:line 17\r\n  ....."

Version information
8.6.0

Additional context
I have a bunch of properties in my POCO, with types of string, DateTime, bool, int, etc. Somehow it's throwing exceptions when having non-string type. If I remove all non-string properties, the query is successful, or if I change all to string, it's successful as well. Anything wrong with deserialization?

Found out that this is caused by some null value in Cosmos, how can I ignore these null values when deserialize?

Thanks for your help.

"Hello @Kedi1997,"

"thanks for your interest in ExRam.Gremlinq. The issue was labelled "Repro repository missing" because although the issue template asks for either "a link to GitHub repository containing a minimal executable project structure that exposes the unexpected behaviour" or "a pull request to ExRam.Gremlinq that adds a failing unit test to the ExRam.Gremlinq tests asserting the expected behaviour", it seems you provided neither. Most problems already solve themselves when isolated and if they don't, you will have made it easier for the maintainer of this project to investigate a possible bug.

Hi team,
Please find the sample code here: https://github.com/Kedi1997/ExRam-issue-462
FYI, the graph object has the following structure:

{
    "id": "BF238CAA-B964-4B0C-BDE3-112C639054C1",
    "label": "Person",
    "type": "vertex",
    "properties": {
      "pk": [
        {
          "id": "BF238CAA-B964-4B0C-BDE3-112C639054C1|pk",
          "value": "797D06B2-E894-4EAF-8051-AD6165BAFA48"
        }
      ],
      "legacyId": [
        {
          "id": "c90304af-129b-4af2-acc1-b4f0c2c5b23c",
          "value": 10639917
        }
      ],
      "addedTime": [
        {
          "id": "fca14c6a-df9e-421a-a53a-4805cc124239",
          "value": "2019-12-13T04:48:00"
        }
      ],
      "firstName": [
        {
          "id": "edc87471-fc6b-4047-98a5-b8bce124fcf1",
          "value": "John"
        }
      ],
      "lastName": [
        {
          "id": "3c8ab732-b2dc-44f9-9cc9-439a135743fc",
          "value": "Smith"
        }
      ],
      "emailAddress": [
        {
          "id": "844d5e81-2592-4698-a492-e0b3250cfdfb",
          "value": ""
        }
      ],
      "phoneNumber": [
        {
          "id": "d8cc028c-f549-468d-b681-7401126d696c",
          "value": ""
        }
      ],
      "mobileNumber": [
        {
          "id": "7fd1545d-c180-4f93-9804-ef89359620ef",
          "value": ""
        }
      ],
      "password": [
        {
          "id": "dd1e1a16-f4be-4be2-bc0c-d2d62a90a8b2",
          "value": ""
        }
      ],
      "passwordKey": [
        {
          "id": "ddd81810-6f7c-4543-8083-4605636c8883",
          "value": ""
        }
      ],
      "countryCode": [
        {
          "id": "1ae2b52d-b914-45e0-ad0b-534bd1bcf8e2",
          "value": "AU"
        }
      ],
      "zoneId": [
        {
          "id": "ba86f317-fd06-4afe-9478-d8512c6b8a4e",
          "value": 37
        }
      ],
      "addressStreet1": [
        {
          "id": "c0ff7bfe-bdae-4715-af68-7751238c8389",
          "value": null
        }
      ],
      "addressStreet2": [
        {
          "id": "b5e7593d-38d8-453d-b9a0-7e5a7ebd21fd",
          "value": null
        }
      ],
      "addressTown": [
        {
          "id": "cd2393c3-ebbc-4ac9-9723-8ef46fd0f4e7",
          "value": null
        }
      ],
      "address1Postcode": [
        {
          "id": "2e3a3338-3d7b-433a-9c81-145964acf696",
          "value": null
        }
      ],
      "importUniqueId": [
        {
          "id": "5c3fd0d5-3631-420e-8c81-d35e8e37fc2d",
          "value": null
        }
      ],
      "importRef": [
        {
          "id": "607b7deb-48e3-4db5-a0f5-8a3dadece512",
          "value": null
        }
      ],
      "externalId": [
        {
          "id": "22fa4fc0-f375-4593-ac87-f029497a6f28",
          "value": ""
        }
      ],
      "userToken": [
        {
          "id": "f10465cf-e70a-4f13-82b8-542e51b78e4c",
          "value": null
        }
      ],
      "userVNextId": [
        {
          "id": "69512012-5015-42f1-990d-8a1675030d51",
          "value": "EAAD93E3-BDCD-4F2C-BC70-11D7E61D3B56"
        }
      ],
      "objectStatus": [
        {
          "id": "7bfe484d-37fd-4dd7-8993-5ecf4150985b",
          "value": "Inactive"
        }
      ],
      "objectSource": [
        {
          "id": "772f2172-6c40-4da3-a490-69abf9ff70ad",
          "value": "User"
        }
      ],
      "deleteTime": [
        {
          "id": "4f8c83d6-b2ce-4d3b-bc3a-38b393da7d98",
          "value": null
        }
      ]
    }
  }

How did you manage to get null values for properties into a CosmosDB graph database ?!

You might want to change your key to CosmosDB.

We are syncing data through Cosmos stored procedure, the raw data has null values and we want to keep those in place. Is there anyway that I can work around this?
I have an approach which is create another POCO that maps all property to string, and write extension methods to convert this POCO to correct types that I want, but this involved huge pieces of trivial work. Do you have any suggestions?

My suggestion would be to only ever use Gremlinq on data that has been entered into CosmosDB through the Gremlin API (be it through the Data Explorer, Gremlin.NET, Gremlinq or anything else that leverages the gremlin API). If you do need to touch data on the document level, and be able to query it through the Gremlin API, make 100% sure it's the correct format. Otherwise you will just confuse the Gremlin API, all the tooling and ultimately get into real trouble. The raw data you entered here looks similar to a vertex document, but as I pointed out, a vertex never has null values for properties.

So as it is now, this is beyond the use case of Gremlinq which expects to find valid data. There might be ways to exlude certain properties for deserialization in the future, but currently, there is none.

If you have control over the data that's written through the document API, and the document should look like a vertex, omit all the null-properties. A property with a null value has the same semantics as no property at all...at least I would assume so. Might depend on your domain model though.

Cool, thanks for your advice, I'll see it's appropriate for my domain to explicitly set those null values to empty strings, so to avoid any potential bugs in the future.

Strong advice to not encode "no value for a DateTime property" by the empty string. Don't! Leave those properties out entirely instead.

Yes indeed, that's another thing need to consider. I don't know before that vertex does not allow null values. I was using Document API before, and it seems working fine with this.

It's ok for documents. The Gremlin/Tinkerpop data model has different semantics.

commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.