将cypher查询转换为c#
我有两张桌子:将cypher查询转换为c#,c#,neo4j,neo4jclient,C#,Neo4j,Neo4jclient,我有两张桌子: User Name Surname Phone number type_of_number var myList = ((IRawGraphClient) client).ExecuteGetCypherResults<**i_need_class_to_save_it**>( new CypherQuery("match (a:User)-[r]->(b:Phone) return a
User
Name
Surname
Phone
number
type_of_number
var myList = ((IRawGraphClient) client).ExecuteGetCypherResults<**i_need_class_to_save_it**>(
new CypherQuery("match (a:User)-[r]->(b:Phone) return a,collect(b)", null, CypherResultMode.Set))
.Select(un => un.Data);
用户
名称
姓
电话
数
类型\u的\u编号
var myList=((IRawGraphClient)client.ExecuteGetCypherResults(
新的CypherQuery(“匹配(a:用户)-[r]->(b:电话)返回a,收集(b)”,null,CypherResultMode.Set))
.选择(un=>un.Data);
如何创建正确的集合以保存数据?在命令末尾添加.ToList()?
像这样:
var myList = ((IRawGraphClient) client).ExecuteGetCypherResults<**i_need_Collection**>(
new CypherQuery("match (a:User)-[r]->(b:Phone) return a,collect(b)", null, CypherResultMode.Set))
.Select(un => un.Data).ToList();
var myList=((IRawGraphClient)client.ExecuteGetCypherResults(
新的CypherQuery(“匹配(a:用户)-[r]->(b:电话)返回a,收集(b)”,null,CypherResultMode.Set))
.Select(un=>un.Data).ToList();
听起来你好像还没有读过书或读过书。你真的应该从那里开始。阅读手册很有帮助。我写它不仅仅是为了好玩
对于您的特定场景,让我们从您的密码查询开始:
MATCH (a:User)-[r]->(b:Phone)
RETURN a, collect(b)
现在,我们将其转换为fluent Cypher:
var results = client.Cypher
.Match("(a:User)-[r]->(b:Phone)")
.Return((a, b) => new {
User = a.As<User>(),
Phones = b.CollectAs<Phone>()
})
.Results;
您将需要与节点属性模型相匹配的类:
public class User
{
public string Name { get; set; }
public string Surname { get; set; }
}
public class Phone
{
public string number { get; set; }
public string type_of_number { get; set; }
}
再一次,请去阅读。首先我需要ExecuteGetChipherResults。
public class User
{
public string Name { get; set; }
public string Surname { get; set; }
}
public class Phone
{
public string number { get; set; }
public string type_of_number { get; set; }
}