C# 如何从Neo4j反序列化具有正确节点类型的对象?

C# 如何从Neo4j反序列化具有正确节点类型的对象?,c#,.net,neo4j,neo4jclient,C#,.net,Neo4j,Neo4jclient,我们有代表一组活动的节点路径,这些活动可以线性发生,也可以并行发生。这些路径包括多个不同类型的节点。现在,我正在构建一个RESTAPI来获取路径的所有节点,并在前端显示它们 由于所有这些都是在c#中发生的,因此我必须获取类型,以便能够相应地创建对象。调用返回我特定类型的密码不是问题,因为我可以这样做: public List<Todo> Get() { var query = client.Cypher

我们有代表一组活动的节点路径,这些活动可以线性发生,也可以并行发生。这些路径包括多个不同类型的节点。现在,我正在构建一个RESTAPI来获取路径的所有节点,并在前端显示它们

由于所有这些都是在c#中发生的,因此我必须获取类型,以便能够相应地创建对象。调用返回我特定类型的密码不是问题,因为我可以这样做:

        public List<Todo> Get()
        {
            var query = client.Cypher
                                    .Match("(n: Todo)")
                                    .Return((n) => n.As<Todo>());

            return query.Results.ToList();
        }
公共列表Get()
{
var query=client.Cypher
.Match(“(n:Todo)”)
.Return((n)=>n.As());
返回query.Results.ToList();
}

但是,当我从我的cypher中获得多个不同的类型时,我将如何处理这个问题呢?

由于neo4j的遗留RESTAPI将在neo4j 4.0中删除,我假设您正计划使用


将Cypher语句传递给事务API时,可以在
resultDataContents
列表中指定该选项。这将导致响应包括节点标签和关系类型。

您的意思是当您不知道
n
是什么(在您的情况下)时,即可能是
Todo
或其他什么?这篇文章是否符合您的要求@ChrisSkardon对你的两个问题都是肯定的,我用匿名类型解决了这个问题,直到现在我才意识到这一点。所以我想我可以关闭这个问题,并将其标记为多余,并链接到您提供的问题。谢谢