to get directly to my point: I want to have independent object model where I won't reference any libraries of database engine so that I will be able to use that model in multiple object or document databases (such as RavenDB, db4o, eloquera etc.)
on the other hand I will be designing db4o first, so lets imagine following object model class:
public class User : IActivatable
{
[Indexed]
private string name;
[Transient]
private string securityinfo;
....
}
some solutions I already have (indexing, cascading):
[Indexed]
attribute I can configure on dbconfig side like:config.Common.ObjectClass(typeof(User)).ObjectField("name").Indexed(true);
- to remove the
[Transient]
attribute - ?? - to remove
IActivatable
- ?? (I was thinking to use instrumetation of Postsharp which can inject implementation of the interface after compilation, but it will still need reference of Db4objects.Db4o.dll. Can Db4oTool instrumentation do that?)
so the question:
How is possible to remove reference of Db4objects.Db4o.dll from object model project and still being able to apply features like TransparentActivation and Transience (Indexing I have covered)?