Я подумываю о создании проекта, который бы предоставил унифицированный API и инструменты (импорт / экспорт и т. Д.) Для объектных баз данных (например, Caché, Objectivity) для .NET.
Это обеспечит:
- генерация схемы из классов CLR,
- генерация классов C # из заданной схемы OODBM,
- API для удаления, создания и обновления объектов,
- провайдер Linq,
- API для вызова методов объекта базы данных из .NET с использованием объектов .NET (*),
- , некоторые из OODBM предоставляют некоторую поддержку SQL, поэтому API для этого,
- Поставщики Caché и Objectivity на первом этапе.
Существует ли какой-либо проект, который реализует что-либо из вышеперечисленного?Может ли это быть достигнуто с помощью диалектов NHibernate?или OODBM настолько отличаются от RDBM, что стоит создать для них отдельную структуру?
EDIT: (*) Я имею в виду вызов метода БД (хранимой процедуры в мире RDBM) из приложения.В мире OODBM, по крайней мере, как я понял, у объектов могут быть методы, как, например, у объектов C #.Моя идея состоит в том, что вы бы пометили метод с атрибутом [DbCall] или около того и оставили бы тело пустым, а когда вы вызываете его из .NET, платформа фактически вызовет метод базы данных для данного объекта.
NHibernate был разработан для RDBM, поэтому мне интересно, есть ли какие-либо различия (функции) в использовании OODBM, которые нельзя использовать при использовании NHibernate.