.NET项目:对象数据库的统一包装器

时间:2010-03-21 16:39:12

标签: .net nhibernate projects object-oriented-database

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

它会提供:

  • 从CLR类生成模式,
  • 从给定的OODBM架构生成C#类
  • 用于删除,创建和更新对象的API,
  • Linq提供商,
  • 使用.NET对象(*),
  • 从.NET调用数据库对象方法的API
  • 一些OODBM提供某种SQL支持,所以API为此,
  • 第一阶段的Caché和Objectivity提供商。

是否存在实施上述任何项目的项目?这可以通过NHibernate方言来实现吗?或者OODBM与RDBM如此不同,以至于值得为它们做单独的框架吗?

编辑: (*)我的意思是从应用程序调用DB方法(RDBMs世界中的存储过程)。在OODBMs世界中,至少据我所知,对象可能有方法,例如C#对象。我的想法是你要用一个属性[DbCall]左右标记一个方法并将body留空,当你从.NET调用它时,框架实际上会在给定对象上调用数据库方法。

NHibernate是为RDBM设计的,所以我想知道OODBMs使用中是否存在任何差异(功能),使用NHibernate时可能无法利用。

2 个答案:

答案 0 :(得分:0)

NHibernate完成所有这些,除了:

  

用于在DB服务器上调用对象方法的API

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

答案 1 :(得分:-2)

Еxcuse我最初的误会! 数据管理的世界正在发生变化。与服务平台的联系,可扩展(云)平台内的操作,对象数据库,对象关系绑定,NoSQL数据库以及并发控制的新方法都成为学术界和工业界的热门话题。因此创建通用API层非常有用,但绝对不容易创建可以与OODBMS(STSdb,[DB4O],[Perst] ...)一起使用的API(复合)不同的功能...