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

时间:2016-05-15 09:45:45

标签: c# datetime serialization neo4j json.net

我的问题与此question

有关

我遇到了同样的失败,但在另一种情况下:

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

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

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

错误消息是:

  

Newtonsoft.Json.JsonReaderException未处理   HResult = -2146233088 LineNumber = 1 LinePosition = 33 Message = Could   不将字符串转换为DateTime:15/05/2016 09:23:34 +00:00。路径'a',   第1行,第33位。路径=源= Neo4jClient

代码版本为:

Neo4jClient版本= 1.1.0.16 Newtonsoft.Json版本= 8.0.1

This answer基本上说我可以通过

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

对于序列化,但是在Neo4jClient内部,我该如何实现它。

答案

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

1 个答案:

答案 0 :(得分:1)

在创建客户端后立即添加此行代码,解决了datetime序列化问题。

注意:我的文化是en-GB,因此我不确定是否需要进行细微调整以适应您的文化设置。

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

我认为有很多方法可以实现这一目标,但这个方法肯定有效。