在neo4jclient查询中从子集合中获取孙子

时间:2019-01-21 18:48:07

标签: c# neo4j .net-core cypher neo4jclient

我有一个根节点(:x),其中许多连接的子节点标记为:y。这些子节点依次具有一个标记为:z的子节点。

sample

我想从类型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的子列表。如预期的那样。但是属性MyClassZnull。如何扩展查询以自动从myy加载子节点:Z并将其映射到属性?

0 个答案:

没有答案