Relationship负载中的Datetime不是';t已正确反序列化
本文关键字:反序列化 负载 Datetime 不是 Relationship | 更新日期: 2023-09-27 17:59:39
背景。
我正在存储用户和产品节点,我希望能够记录用户每次购买产品的日期。当返回结果时,购买日期将返回为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