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.