我正在考虑做一个项目,该项目将为.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 使用中是否存在任何差异(功能)。