2010-03-21 55 views
1

我正在考虑做一个项目,为.NET的对象数据库(例如Caché,Objectivity)提供统一的API和工具(导入/导出等)。.NET项目:对象数据库的统一包装器

它将提供:

  • 模式生成来自CLR类,
  • 代从给定的面向对象数据库系统架构C#类,删除,创建和更新对象
  • API,
  • LINQ提供程序, (*),
  • 一些OODBMs提供索姆e种类的SQL支持,所以API的第一阶段为此提供了Caché和Objectivity。

是否存在实现上述任何项目的项目? NHibernate方言可以实现吗?还是OODBM与RDBM差别很大,因此值得为它们分别设计框架? (*)我的意思是从应用程序调用DB方法(存储过程在RDBM世界)。在OODBM世界中,至少据我所知,对象可能有方法,例如C#对象。我的想法是,你会标记一个属性[DbCall]左右的方法,并将body留空,当你从.NET调用它时,框架实际上会调用给定对象上的数据库方法。

NHibernate是为RDBMs设计的,所以我想知道在使用NHibernate时可能没有利用OODBMs使用方面是否有任何差异(特征)。

回答

0

NHibernate的做这一切只是:

API调用数据库服务器

我不很明白在对象的方法。如果您的意思是数据库能够从存储过程中调用应用程序功能,那么这是一个数据库级别的事情,并不是真正的DAL/ORM事情。

+0

问题主体更新与解释。谢谢。 – Steve 2010-03-21 23:33:37

-2

Еxcuse我最初的误解!数据管理的世界正在发生变化。与服务平台的链接,可伸缩(云)平台中的操作,对象数据库,对象关系绑定,NoSQL数据库以及并发控制的新方法都成为学术界和工业界的热门话题。所以创建公共API层是非常有用的,但肯定不容易创建可以与OODBMS(STSdb,[DB4O],[Perst] ...)一起使用的具有不同特征的API(复合)。 。

+0

那么所有的OODBMS都会带上一个API。我认为这个问题是关于不同OO​​DBMS的通用API层。就像EF是各种RDMBS的API一样。 – Gamlor 2010-06-13 22:54:54