无法在事务中使用C#客户端反序列化日期时间属性Neo4j



我的问题与这个问题有关:

我遇到了同样的故障,但情况不同:

在运行时,错误发生在内部;

using (var scope = new TransactionScope())
{
    // Doing stuff here fails only within a transaction!
    scope.Complete();
}

当在事务之外执行时,同样的问题代码运行得非常好!

错误消息为:

Newtonsoft.Json.JsonReaderException未处理
HResult=-2146233088行号=1行位置=33消息=可以不将字符串转换为DateTime:15/2016 09:23:34+00:0。路径"a",第1行,位置33。路径=来源=Neo4jClient

代码版本为:

Neo4j客户端版本=1.1.0.16Newtonsoft.Json版本=8.0.1

这个答案基本上说我可以通过

new IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" }

对于串行化,但由于这是在Neo4jClient内部,我如何实现它。

回答

client.JsonConverters.Add( new IsoDateTimeConverter() );

在创建客户端后立即添加这行代码,解决了日期时间串行化问题。

注意:我的区域性是en-GB,所以我不确定这是否需要根据您的区域性设置进行微调。

client.JsonConverters.Add( new IsoDateTimeConverter() );

我认为有很多方法可以实现这一点,但这一种方法确实有效。

相关内容

最新更新