将neo4j整数列表转换为C#array

时间:2017-10-06 05:54:45

标签: c# arrays list neo4j

我有一个小的C#应用​​程序来查询Neo4j数据库。查询工作正常,但我无法将整数数组转换为适当的C#列表类型。它们似乎应该在一个合适的List / Array /等中。在C#方面。

这是我运行的查询 - 它返回正确的结果,但我不够聪明,无法将返回的列表部分转换为正确的C#list-type对象。以下是正在运行的代码:

using (var driver = GraphDatabase.Driver("bolt:validURL, AuthTokens.Basic("username", "password")))
//  using (var session = driver.Session())
{
    var result = session.Run("MATCH (c:Climate) WHERE c.koppen = 'BSh' RETURN c.koppen AS koppen, c.counties AS counties");

            foreach (var record in result)
            {
                var koppen = record["koppen"].As<string>();
                var counties = record["counties"];
            }
        }
    }
}

}

记录[counties]是一个整数列表 - 所以看起来我应该很容易将它放入一个我可以迭代的C#列表对象中。我需要这样做才能处理每个县并显示结果。 C#对我来说很新,所以感谢你帮助我连接这两种语言!

编辑:没有回复,所以我尝试了一种新的方法 - 简化事情,我不再返回koppen值 - 只是列表县(这就是问题所在)。我在Neo4j手册中找到了一些代码,并尝试了它:

public List<int> GetCounties()
    {
        using (var driver = GraphDatabase.Driver("bolt://validURL", AuthTokens.Basic("username", "password")))
        using (var session = driver.Session())
        {
            return session.ReadTransaction(tx =>
            {
                var result = tx.Run("MATCH (c:Climate) WHERE c.koppen = 'BSh' RETURN c.counties");
                var a = result.Select(Record => Record[0].As<int>()).ToList();
                return a;
            });
        }
    }
}

现在我得到了一个例外: 发生了System.InvalidCastException   的HResult = 0x80004002   Message =无法转换类型为&#39; System.Collections.Generic.List`1 [System.Object]&#39;输入&#39; System.IConvertible&#39;。   来源=   堆栈跟踪:

在以toList()语句结尾的行上发生异常。很抱歉,我不理解Neo4j列表结果与C#lists / arrays / etc之间需要进行的转换。我很乐意尝试任何建议!

0 个答案:

没有答案