Получение внука из дочерней коллекции в запросе neo4jclient - PullRequest
0 голосов
/ 21 января 2019

У меня был корневой узел (: 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.Это работает, как ожидалось.Свойство MyClassZ однако null.Как расширить запрос для автоматической загрузки дочернего узла: Z из моего сопоставления его со свойством?

...