使用C#是否可以与OrientDB一起工作?

10

是否有使用C#编写的OrientDB实现、API或示例?我之所以关注OrientDB,是因为它是我发现的唯一结合图形和文档的数据库。

请问应该如何尝试使用它?

我的下一个选择是RavenDB,但我不确定它是否支持联接或链接文档?

您有什么想法吗?

5个回答

7

OrientDB有一个官方的.NET二进制驱动程序

请在这里查看:http://orientdb.com/docs/3.0.x/

OrientDB-NET.binary使用示例:

string release = OClient.CreateDatabasePool("127.0.0.1", 2424, "ModelTestDB", ODatabaseType.Graph, "admin", "admin", 10, "ModelTestDBAlias");
using(ODatabase database = new ODatabase("ModelTestDBAlias"))
{
    // prerequisites
    database
      .Create.Class("TestClass")
      .Extends<OVertex>()
      .Run();

    OVertex createdVertex = database
      .Create.Vertex("TestClass")
      .Set("foo", "foo string value")
      .Set("bar", 12345)
      .Run();
}

5

目前,OrientDB支持REST / JSON协议和本机二进制协议。REST协议有Python和Javascript包装器,而本机协议有C和PHP包装器。我不知道是否正在使用C#包装器,但是根据规格(http://code.google.com/p/orient/wiki/OrientDB_REST),为C#编写一个应该很简单。我曾在JUG会议上见过该项目的架构师,必须说OrientDB是一个非常有前途的项目。此外,Luca Garulli(架构师)是一个非常可用的人,因此如果需要更多信息,您可以联系他。


谢谢提供的信息。我会再仔细研究一下。 - Pranav Shah

2

谢谢,我在周末仔细研究了它。希望很快能有机会与它一起工作。谢谢。 - Pranav Shah

2

关于您提出的 RavenDB 的第二个问题,它没有像关系型数据库中那样的“连接(join)”功能,但您可以通过存储其文档id字段来存储到其他文档的引用。这是该FAQ中有关连接问题的描述。其中之一建议是去规范化(存储与相关文档不仅仅是Id),然而这可能需要进行一次很大的权衡。


0

我最近发现了这个代码库。虽然我还没有查看过代码或使用它,但它有以下.NET接口:

  1. BluePrints

  2. Rexster

  3. Pipes

    这些实用工具可用于连接多个图形数据库(允许BluePrints的那些数据库),包括neo4j和OrientDB。更多信息也可以查看TikerPop


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接