1

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

它将提供:

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

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

编辑:(*)我的意思是从应用程序调用 DB 方法(RDBM 世界中的存储过程)。在 OODBM 世界中,至少据我了解,对象可能具有方法,例如 C# 对象。我的想法是,您将使用属性 [DbCall] 左右标记方法并将主体留空,当您从 .NET 调用它时,框架实际上会调用给定对象上的数据库方法。

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

4

2 回答 2

0

NHibernate 做了所有这些,除了:

用于在数据库服务器上调用对象方法的 API

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

于 2010-03-21T23:05:57.483 回答
-2

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

于 2010-06-12T17:46:28.740 回答