“关系”有效内容中的日期时间未正确反序列化

时间:2013-02-17 09:42:46

标签: c# neo4j neo4jclient

背景

我正在存储用户和产品节点,我希望能够记录每次用户购买产品的日期。当结果返回时,购买日期将以DateTime.Min的形式返回,但如果我通过控制台查询Neo4j,我可以看到日期存储为“2013-02-16T08:31:54.8604715 + 00:00”

我用来返回关系有效负载的查询是:

graphClient
.RootNode
.In < RootNode >(sourceTypeKeyToRoot)
.OutE<TData>(TypeKeyRelatingNodes())
.ToList();

TData是一个简单的类

public class PayLoad
{
   public DateTime Purchased { get; set; }
}

如果我也使用Cypher查询,我会得到相同的结果。

1 个答案:

答案 0 :(得分:1)

这不是受支持的类型,因为我们无法正确地通过Neo4j进行往返。

您应该使用DateTimeOffset代替。

如果您尝试使用DateTime,则自1.0.0.174以来的任何版本都会收到异常:

http://hg.readify.net/neo4jclient/src/d4118523780ee5dcacbe2f57b4f40ee6b90d6500/Neo4jClient/Deserializer/CommonDeserializerMethods.cs?at=default#cl-109

http://hg.readify.net/neo4jclient/commits/fa5bedfa60cb