Проект .NET: унифицированная оболочка для объектных баз данных

Я рассматриваю возможность создания проекта, который предоставит унифицированный API и инструменты (импорт/экспорт и т. д.) для объектных баз данных (например, Caché, Objectivity) для .NET.

Это обеспечит:

  • генерация схемы из классов CLR,
  • генерация классов C# из заданной схемы OODBM,
  • API для удаления, создания и обновления объектов,
  • Линк провайдер,
  • API для вызова методов объекта базы данных из .NET с использованием объектов .NET (*),
  • некоторые из OODBM предоставляют какую-то поддержку SQL, поэтому API для этого,
  • поставщики для Caché и Objectivity на первом этапе.

Существует ли какой-либо проект, который реализует что-либо из вышеперечисленного? Можно ли этого добиться с помощью диалектов NHibernate? или OODBM настолько отличаются от RDBM, что для них стоит делать отдельную структуру?

РЕДАКТИРОВАТЬ: (*) Я имею в виду вызов метода БД (хранимая процедура в мире RDBM) из приложения. В мире OODBM, по крайней мере, как я понял, объекты могут иметь методы, как, например, объекты C#. Моя идея состоит в том, что вы пометите метод атрибутом [DbCall] или около того и оставите тело пустым, и когда вы вызовете его из .NET, фреймворк фактически вызовет метод базы данных для данного объекта.

NHibernate был разработан для RDBM, поэтому мне интересно, есть ли какие-либо различия (особенности) в использовании OODBM, которыми нельзя воспользоваться при использовании NHibernate.


person Steve    schedule 21.03.2010    source источник


Ответы (2)


NHibernate делает все это, кроме:

API для вызова методов объекта на сервере БД

Что я не совсем понимаю. Если вы имеете в виду, что база данных может вызывать функциональные возможности приложения из хранимых процедур, то это относится к уровню базы данных, а не к DAL/ORM.

person Michael Shimmins    schedule 21.03.2010

Извините за мое первоначальное непонимание! Мир управления данными меняется. Связь с сервисными платформами, работа на масштабируемых (облачных) платформах, объектные базы данных, объектно-реляционные привязки, базы данных NoSQL и новые подходы к управлению параллелизмом становятся горячими темами как в научных кругах, так и в промышленности. Таким образом, создание общего API-слоя будет очень полезно, но, безусловно, непросто создать API (составные), которые могут работать с ООСУБД (STSdb, [DB4O], [Perst] ...) с разными функциями...

person smateev    schedule 12.06.2010
comment
Ну, все ООСУБД несут с собой API. Думаю, вопрос был про общий API-слой для разных ООСУБД. Так же, как EF — это API для всех видов RDMBS. - person Gamlor; 14.06.2010