让我们说例如我有3种类型的节点TypeA TypeB TypeC
并且所有类型都继承自Parent
类型,其中包含我的节点的基本信息,
我有这样的查询例如:
var graphResult = graphClient.Cypher
.Unwind(Nodes, "singleNode")
.Match("p = (innerNode:TypeA{Id:singleNode.Id}) -[r:CONTAINS {solutionId:{innerSolutionId}}] - ()")
.WithParam("innerSolutionId", solutionId)
.Return(p => new
{
Nodes = Neo4jClient.Cypher.Return.As<IEnumerable<Neo4JNodeDSO>>("nodes(p)"),
Relationships = Neo4jClient.Cypher.Return.As<IEnumerable<Neo4JLinkDSO>>("rels(p)")
}).Results;
我返回的节点来自Parent类型,并且不包含子类型的所有数据,有没有办法在接收数据时如何分配我将具有属于TypeA / TypeB的属性/ TypeC?那不在父对象中? (一种接收每个节点的整个数据的方法,而不仅仅是将它反序列化为父类型?)
非常感谢先进。
答案 0 :(得分:0)
不是特定的type
- 您可以将其作为dynamic
获取,但从长远来看,您仍然需要知道该类型,这个答案:Returning multi value in dynamic query using neo4j client可能会有所帮助,因为您可以尝试它是动态的 - (参见最后的&#39;代码部分&#39;)。