我们如何使用neo4jclient返回节点的所有属性?

时间:2014-11-25 18:16:53

标签: dynamic neo4j neo4jclient

下面的代码(搜索功能)工作正常。

    public class BookItem
    {
        public string Title { get; set; }
        public string OriginalTitle { get; set; }
    }

    public IEnumerable<dynamic> Search(string keyword)
    {
        /*MATCH (n:`Book`) RETURN n*/
        var query = client
            .Cypher
            .Match("(n:Book)")
            .Return(n => n.As<BookItem>());

        return query.Results;
    }

但是,我不想声明像BookItem这样的类。我只想在动态对象中得到所有结果。有没有办法做到这一点?

例如,下面的代码运行并返回空对象,它不会返回任何属性..

    public IEnumerable<dynamic> Search(string keyword)
    {
        /*MATCH (n:`Book`) RETURN n*/
        var query = client
            .Cypher
            .Match("(n:Book)")
            .Return(n => n.As<dynamic>());

        return query.Results;
    }

1 个答案:

答案 0 :(得分:2)

基本要点是这个问题的答案:Casting nodes of an unknown type

你最终返回的是Node<string>并使用Json.net解析为动态对象,不幸的是,没有直接的方法只是x.As<dynamic>()