关系有效负载中的日期时间未正确反序列化



背景。

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

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

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

TData是一个简单的类

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

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

这不是一个受支持的类型,因为我们无法通过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

最新更新