使用neo4jClient从Cypher查询返回属性

时间:2014-08-09 02:39:01

标签: neo4j cypher neo4jclient

我的目标是从两个相关节点返回两个属性。

我想从DataSpace返回DataSpaceName,从DataSpaceName / DataSpace属性匹配的两个节点返回Entity中的EntityName。

public class DataSpace
{   
 public string DataSpaceName { get; set;}        
 public string DataSpaceDescription { get; set;}
 public string ConnectionString { get; set;}
}

public class Entity
{
 public string DataConnector { get; set;}
 public string EntityName  { get; set;}
 public string EntityType  { get; set;}
 public string DataSpace{get; set;} 
}

var query = 
    client
    .Cypher
    .Match("(DataSpace:DataSpace), (Entity:Entity)")
    .Where("Entity.DataSpace = DataSpace.DataSpaceName")
    .Return ((DataSpace,Entity) => new { 
                DSName = Return.As<string>("DataSpace.DataSpaceName"),
                EName=Return.As<string>("Entity.EntityName")
                });

这会引发错误:

Compiler Error Message: CS0103: The name 'Return' does not exist in the current context

如果我使用Node(比如DataSpace.As())而不是Return,那么我将得到整个DataSpace节点。

有人可以说明我犯的错误。

1 个答案:

答案 0 :(得分:2)

您似乎只导入了Neo4jClient命名空间。如果要使用Neo4jClient.Cypher类,还需要导入Return

ReSharper也会为你提出这个建议。