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

发布于 2024-08-25 18:49:50 字数 684 浏览 7 评论 0原文

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

它将提供:

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

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

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

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

I am considering doing a project which would provide unified API and tools (import/export, etc.) for object databases (e.g. Caché, Objectivity) for .NET.

It would provide:

  • schema generation from CLR classes,
  • generation of C# classes from given OODBMs schema,
  • API for deleting, creating and updating objects,
  • Linq provider,
  • API for calling database object's methods from .NET using .NET objects (*),
  • some of OODBMs provide some kind of SQL support, so API for this,
  • providers for Caché and Objectivity in first phase.

Does any project which implements any of above exist? Can this be achieved with NHibernate dialects? or are OODBMs so different than RDBMs that it worth doing separate framework for them?

EDIT:
(*) I mean invoking DB method (stored procedure in RDBMs world) from application. In OODBMs world, at least as I understood, objects may have methods as for example C# objects do. My idea is that you would mark a method with an attribute [DbCall] or so and leave body empty and when you invoke it from .NET, the framework would actually call the database method on given object.

NHibernate was designed for RDBMs so I am wondering whether there are any differences(features) in OODBMs usage that one might not take advantage of while using NHibernate.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

弥枳 2024-09-01 18:49:50

NHibernate 完成所有这些工作,除了:

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

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

NHibernate does all of this except:

API for calling object's methods on DB server

Which I don't quite understand. If you mean the database being able to invoke application functionality from within stored procedures then that is a database level thing, not really an DAL/ORM thing.

与他有关 2024-09-01 18:49:50

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

Еxcuse my initial misunderstanding!
The world of data management is changing. The linkage to service platforms, operation within scalable (cloud) platforms, object databases, object-relational bindings, NoSQL databases and new approaches to concurrency control are all becoming hot topics both in academia and industry. So to create common API-layer is will be very useful, but definitely isn't easily to create APIs(compound) which can work with OODBMS(STSdb, [DB4O], [Perst] ...) with have different features...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文