我有一个根节点(:x),其中许多连接的子节点标记为:y。这些子节点依次具有一个标记为:z的子节点。
我想从类型ClassX
中检索到一个对象,该对象映射到具有连接的子代和连接到每个子代的孙代的节点:X。
这是我的代码,返回该对象及其子对象列表,但属于该子对象的孙子元素为null
:
_graphClient.Cypher
.OptionalMatch("(myx:X)-[:RELNAME]->(myy:Y)")
.Where((ClassX myx) => myx.Guid == guid)
.Return((myx, myy) => new ClassX
{
Guid = myx.As<ClassX>().Guid,
Status = myx.As<ClassX>().Status,
Childs = myy.CollectAs<ClassY>() as List<ClassY>
})
.Results
.FirstOrDefault();`
ClassY
具有类型MyClassZ
的属性ClassZ
:
public class ClassY
{
public string Name { get; set; }
public ClassZ MyClassZ { get; set; }
}
执行上面的代码将导致对象ClassX
包含类型ClassY
的子列表。如预期的那样。但是属性MyClassZ
是null
。如何扩展查询以自动从myy加载子节点:Z并将其映射到属性?