如何在 C# 中创建嵌入式 Neo4j 数据库

Posted

技术标签:

【中文标题】如何在 C# 中创建嵌入式 Neo4j 数据库【英文标题】:How to create an embedded Neo4j database in c# 【发布时间】:2015-06-17 13:16:04 【问题描述】:

如何在 c# 中创建嵌入式 Neo4j 数据库?我想对此嵌入式数据库执行查询以进行测试,然后将其丢弃。目前我正在使用 neo4jclient 对运行在我的系统(本地主机)上的数据库执行查询,但想在嵌入式数据库上执行此操作。我该怎么办?

此功能在 Java 中以下列方式存在:

GraphDatabaseFactory graphDbFactory = new GraphDatabaseFactory();
GraphDatabaseService graphDb = graphDbFactory
      .newEmbeddedDatabase("data/dbName");

在 c# 中寻找类似的东西。

【问题讨论】:

你为什么要这样做?也许了解您的实际问题可以帮助解决它? 我正在为数据库上的 crud 操作编写单元集成测试。这涉及向数据库添加和删除一些数据。不想冒险弄乱数据库中已经存在的数据,因此寻找只能用于测试目的的嵌入式数据库。 你做到了吗?我正在努力实现同样的目标,我希望得到一些关于从哪里开始的指导 我必须创建一个 Neo4j 的新实例,纯粹是为了测试。找不到创建嵌入式数据库的方法。 【参考方案1】:

这是不可能的。

Neo4j 是一个 Java 应用程序,您需要 JVM 来运行它。

您可以尝试IKVM.NET 在 .NET VM 中运行 Neo4j 并从 C# 代码中调用这些方法。

您提到要嵌入数据库以进行集成测试。我建议启动 Neo4j 的新实例作为测试运行的一部分。仅用于测试目的。

【讨论】:

在这里提及 .NET 客户端是多余的。 OP 已经提到使用 neo4jclient 并附加到 Neo4j 的实例。这完全是一个关于使用 .net 应用程序的嵌入式版本的问题。

以上是关于如何在 C# 中创建嵌入式 Neo4j 数据库的主要内容,如果未能解决你的问题,请参考以下文章

Neo4J 在 Cypher 中创建临时变量

在 GWT 中使用嵌入式 Neo4j 时出现 AccessControlException

如何在 C# 中创建 Microsoft Access 数据库? [复制]

如何使用 C# 在 Access 中创建、更新、删除数据?

如何使用 C# 在 SQL Server 数据库中创建视图?

如何在 C# 和 WPF 中的实体框架中创建数据库和表?