Можно ли работать с OrientDB с помощью C #? - PullRequest
10 голосов
/ 24 марта 2011

Существуют ли реализации, API или примеры OrientDB и C #. Причина, по которой я смотрю на OrientDB, заключается в том, что это единственная найденная мной комбинация Graph и Document.

Любые предложения о том, как мне это попробовать.

Мой следующий выбор - RavenDB, но я не уверен, поддерживает ли он объединения или связанные документы?

Любые мысли ...

Ответы [ 5 ]

7 голосов
/ 11 декабря 2014

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 голосов
/ 24 марта 2011

В настоящее время OrientDB поддерживает как протокол REST / JSON, так и собственный двоичный протокол.Для протокола REST существуют обертки Python и Javascript, а для нативного протокола - обертки C и PHP.Я не знаю, работает ли обертка C #, но, глядя на спецификации (http://code.google.com/p/orient/wiki/OrientDB_REST), написание одного для C # должно быть простым.Я лично встретился с архитектором проекта на совещании JUG и должен сказать, что OrientDB - очень многообещающий проект.Также Лука Гарулли (архитектор) - очень доступный человек, так что вы можете написать ему, если вам нужно больше информации.

2 голосов
/ 24 апреля 2011

Я только что разработал первую версию REST-клиента для OrientDB. http://netorientdb.codeplex.com

2 голосов
/ 24 марта 2011

Что касается вашего второго вопроса о RavenDB, у него нет «соединений», как в реляционном смысле, но вы всегда можете хранить ссылки на другие документы, сохраняя его поле идентификатора документа. Вот вопрос присоединения в FAQ. Одно из предложений, которое они дают, заключается в денормализации (хранить больше, чем просто идентификатор соответствующего документа), что может быть большим компромиссом.

0 голосов
/ 05 апреля 2011

Я только недавно столкнулся с этим хранилищем . Я еще не посмотрел код и не использовал его, но у него есть .NET-интерфейсы для:

  1. BluePrints
  2. Rexster
  3. Труба

    Эти утилиты могут использоваться для подключения к нескольким базам данных Graph (те, которые позволяют BluePrints), включая neo4j и OrientDB. Для получения дополнительной информации также посмотрите на TikerPop .

...