从c#中返回Neo4j数据库中的所有节点

时间:2014-10-29 18:31:25

标签: c# neo4j neo4jclient

我仍然是编程的新手,但我现在想要达到的是一段代码,它将向我展示我的Visual Studio中的所有节点。我将c#连接到我的数据库,但我无法理解为什么我无法显示我的节点。 .Results会出错,我不明白为什么。到目前为止,我的代码看起来像这样。有人可以解释为什么这件作品不起作用更重要吗?

class DatabaseConnection
{
    GraphClient dbclient;

    public DatabaseConnection(){
        dbclient = new GraphClient(new Uri("http://localhost:7474/db/data"));
        dbclient.Connect();

        dbclient.Cypher
        .Match("(type:PhonePart)")
        .Return(type => type.As<PhoneItems>())
        .Results
    }

}
public class PhoneItems
{
    public string PhonePart { get; set; }  
}

1 个答案:

答案 0 :(得分:4)

这里的问题实际上是C#语法,而不是Neo4j。

此错误是因为您引用了属性Results,但没有告诉编译器如何处理它。这就像在代码中键入3然后将其挂起:您是希望将其分配给变量,打印出来还是其他内容?

您需要做的就是将其指定为:

dbclient.Cypher
    .Match("(type:PhonePart)")
    .Return(type => type.As<PhoneItems>())
    .Results

像这样:

var phoneItems = dbclient.Cypher
    .Match("(type:PhonePart)")
    .Return(type => type.As<PhoneItems>())
    .Results;

然后,您的代码将编译。

接下来,你想对这些电话号码做些什么,也许是这样:

foreach (var phone in phoneItems)
{
    Console.WriteLine(phone.PhonePart);
}

希望有所帮助!