Проект .NET: унифицированная оболочка для объектных баз данных - PullRequest
1 голос
/ 21 марта 2010

Я подумываю о создании проекта, который бы предоставил унифицированный 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.

Ответы [ 2 ]

0 голосов
/ 12 июня 2010

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

0 голосов
/ 22 марта 2010

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

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

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

...