我的目标是从两个相关节点返回两个属性。
我想从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节点。
有人可以说明我犯的错误。
答案 0 :(得分:2)
您似乎只导入了Neo4jClient
命名空间。如果要使用Neo4jClient.Cypher
类,还需要导入Return
。
ReSharper也会为你提出这个建议。