Neo4J Readify客户端/驱动程序:无法反序列化对象
当我尝试通过运行以下方法获取结果集时,我收到一个错误/异常:Neo4J Readify客户端/驱动程序:无法反序列化对象,neo4j,neo4jclient,Neo4j,Neo4jclient,当我尝试通过运行以下方法获取结果集时,我收到一个错误/异常: public IEnumerable<NeoProduct> GetAllProductsUnderCategory(int categoryId) { var query = neo.Cypher.Match("(c:Category{CategoryId:{id}})<-[*](p:Product)") .WithParam("id", cate
public IEnumerable<NeoProduct> GetAllProductsUnderCategory(int categoryId)
{
var query = neo.Cypher.Match("(c:Category{CategoryId:{id}})<-[*](p:Product)")
.WithParam("id", categoryId)
.Return(p => p.As<NeoProduct>()).Results;
}
堆栈跟踪是:
[OverflowException: Value was either too large or too small for an Int64.]
System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt) +14278344
System.String.System.IConvertible.ToInt64(IFormatProvider provider) +55
System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +14285879
Neo4jClient.Serialization.CommonDeserializerMethods.CoerceValue(DeserializationContext context, PropertyInfo propertyInfo, JToken value, IEnumerable`1 typeMappings, Int32 nestingLevel) in D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.cs:101
Neo4jClient.Serialization.CommonDeserializerMethods.Map(DeserializationContext context, Object targetObject, JToken parentJsonToken, IEnumerable`1 typeMappings, Int32 nestingLevel) in D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.cs:365
Neo4jClient.Serialization.CommonDeserializerMethods.CreateAndMap(DeserializationContext context, Type type, JToken element, IEnumerable`1 typeMappings, Int32 nestingLevel) in D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.cs:303
Neo4jClient.Serialization.<>c__DisplayClass17_0.<ParseInSingleColumnMode>b__1(JToken row) in D:\temp\tmpC806\Neo4jClient\Serialization\CypherJsonDeserializer.cs:437
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +223
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +264
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +106
Neo4jClient.Serialization.CypherJsonDeserializer`1.Deserialize(String content) in D:\temp\tmpC806\Neo4jClient\Serialization\CypherJsonDeserializer.cs:64
[ArgumentException: Neo4j returned a valid response, however Neo4jClient was unable to deserialize into the object structure you supplied.
[OverflowException:值对于Int64太大或太小。]
System.Number.ParseInt64(字符串值、NumberStyles选项、NumberFormatInfo numfmt)+14278344
System.String.System.IConvertible.ToInt64(IFormatProvider)+55
System.Convert.ChangeType(对象值、类型转换类型、IFormatProvider提供程序)+14285879
D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.CommonEvalue(反序列化上下文、PropertyInfo PropertyInfo、JToken值、IEnumerable`1类型映射、Int32嵌套级别)中的Neo4jClient.Serialization.CommonDeserializerMethods
D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.Map(反序列化上下文、对象targetObject、JToken parentJsonToken、IEnumerable`1类型映射、Int32嵌套级别)中的Neo4jClient.Serialization.CommonDeserializerMethods.Map
D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.CreateAndMap(反序列化上下文、类型类型类型、JToken元素、IEnumerable`1类型映射、Int32嵌套级别)中的Neo4jClient.Serialization.CommonDeserializerMethods.CreateAndMap
Neo4jClient.Serialization.c__在D:\temp\tmpC806\Neo4jClient\Serialization\cypherjsondesellizer.cs:437中显示Class17_0.b___1(JToken行)
System.Linq.whereSelectEnumerableInterator`2.MoveNext()+223
System.Linq.Buffer`1..ctor(IEnumerable`1源)+264
System.Linq.Enumerable.ToArray(IEnumerable`1源)+106
Neo4jClient.Serialization.CypherJsonDeserializer`1.在D:\temp\tmpC806\Neo4jClient\Serialization\CypherJsonDeserializer.cs:64中反序列化(字符串内容)
[ArgumentException:Neo4j返回了有效响应,但是Neo4jClient无法反序列化到您提供的对象结构中。
对于该方法,我将传递一个参数,该参数返回一个包含900个实体的结果集(结果来自Neo4J浏览器)。否则,该方法似乎可以正常工作
我怀疑JSON对象对于内部反序列化程序来说太大了。有人遇到过这个问题吗?我发现了这个问题。数据库中有一个实体的一个非常长的数字大于int64,导致反序列化程序抛出异常(试图将一个大于int64的数字插入int64属性)
今天的课程:确保数据适合模型:)我发现了问题。数据库中有一个实体的一个非常长的数字大于int64,导致反序列化程序引发异常(试图将一个大于int64的数字插入int64属性)
今天的课程:确保数据适合模型:)您是否验证了JSON对象太大?如果返回一个产品会发生什么?它从来不是每次查看的JSON对象;数据库包含脏数据。:)我想可能是-异常消息通常不会撒谎!很高兴您解决了这个问题。您验证了JSON对象对象太大?如果返回一个产品会发生什么?它从来不是每次查看的JSON对象;数据库包含脏数据。:)我想可能是-异常消息通常不会说谎!很高兴您解决了这个问题。
[OverflowException: Value was either too large or too small for an Int64.]
System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt) +14278344
System.String.System.IConvertible.ToInt64(IFormatProvider provider) +55
System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +14285879
Neo4jClient.Serialization.CommonDeserializerMethods.CoerceValue(DeserializationContext context, PropertyInfo propertyInfo, JToken value, IEnumerable`1 typeMappings, Int32 nestingLevel) in D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.cs:101
Neo4jClient.Serialization.CommonDeserializerMethods.Map(DeserializationContext context, Object targetObject, JToken parentJsonToken, IEnumerable`1 typeMappings, Int32 nestingLevel) in D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.cs:365
Neo4jClient.Serialization.CommonDeserializerMethods.CreateAndMap(DeserializationContext context, Type type, JToken element, IEnumerable`1 typeMappings, Int32 nestingLevel) in D:\temp\tmpC806\Neo4jClient\Serialization\CommonDeserializerMethods.cs:303
Neo4jClient.Serialization.<>c__DisplayClass17_0.<ParseInSingleColumnMode>b__1(JToken row) in D:\temp\tmpC806\Neo4jClient\Serialization\CypherJsonDeserializer.cs:437
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +223
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +264
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +106
Neo4jClient.Serialization.CypherJsonDeserializer`1.Deserialize(String content) in D:\temp\tmpC806\Neo4jClient\Serialization\CypherJsonDeserializer.cs:64
[ArgumentException: Neo4j returned a valid response, however Neo4jClient was unable to deserialize into the object structure you supplied.