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

时间:2011-03-24 14:55:56

标签: c# nosql ravendb graph-databases orientdb

是否存在OrientDB和C#的任何实现,api或示例。我正在研究OrientDB的原因是因为它是我发现的唯一一个Graph和Document的组合。

有关我应该如何尝试的任何建议。

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

任何想法......

5 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分:5)

目前,OrientDB支持REST / JSON协议和本机二进制协议。 REST协议有Python和Javascript包装器,有本地协议的C和PHP包装器。我不知道C#包装器是否在工作中,但是查看规范(http://code.google.com/p/orient/wiki/OrientDB_REST)为C#编写一个应该是直截了当的。我在JUG会议上亲自见过了项目的架构师,我必须说OrientDB是一个非常有前途的项目。此外,Luca Garulli(建筑师)是一个非常有用的人,所以如果您需要更多信息,可以写信给他。

答案 2 :(得分:2)

关于你关于RavenDB的第二个问题,它没有关系意义上的“连接”,但你可以通过存储它的文档id字段来存储对其他文档的引用。以下是常见问题解答中的join question。他们给出的建议之一是非规范化(存储不仅仅是相关文档的Id),这可能是一个很大的权衡。

答案 3 :(得分:2)

我刚为OrientDB开发了第一个REST客户端版本。 http://netorientdb.codeplex.com

答案 4 :(得分:0)

我刚刚遇到了这个repository。我还没有查看代码或使用它,但它有.NET接口:

  1. 蓝图
  2. Rexster
  3. 管道

    这些实用程序可用于连接多个图形数据库(允许BluePrints的图形数据库),包括neo4j和OrientDB。有关更多信息,请查看TikerPop