使用Neo4jClient的对象关系映射
本文关键字:关系 映射 对象 Neo4jClient 使用 | 更新日期: 2023-09-27 17:51:08
让我们考虑一下这个结构:
(parent) –[:HAS_CHILD]-> (child) –[:HAS_DOG]-> (dog)
现在我将使用下面的密码查询来返回一种层次结构:
MATCH (p:Parent) -[:HAS_CHILD]-> (c:Child) -[:HAS_DOG]-> (d: Dog)
WITH p, collect(distinct(c)) as children, d
RETURN p, children, collect(distinct(d))
然而,如果我能在实体框架中有相同的映射(在Parent类中有一个子列表),这将会容易得多:
public class Parent
{
public string Id { get; set; }
public string Name { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public string Id { get; set; }
public string Name { get; set; }
public List<Dog> Dogs { get; set; }
}
public class Dog
{
public string Id { get; set; }
public string Name { get; set; }
}
有办法吗?
把Neo4jClient看作是。net中的SqlConnection
和SqlCommand
。它提供了语言绑定,帮助您以安全有效的方式构造查询,然后检索结果。
它不是一个ORM,像实体框架。
就像实体框架使用SqlConnection
一样,如果你想的话,你可以在Neo4jClient之上构建一个。有人在这里开了一个:http://www.nuget.org/packages/Neo4jRepository/