In order to use the same database in Java and .NET application you will need to configure Aliases. This is necessary due to the difference in Java and .NET class name format (it can be also helpful if you do not want to give the same names to the classes in different applications).
First of all you will need to alias the database itself:
c#:
IConfiguration configuration =
Db4oFactory.NewConfiguration();
configuration.AddAlias(new TypeAlias("com.db4o.ext.Db4oDatabase","Db4objects.Db4o.Ext.Db4oDatabase,
Db4objects.Db4o"));
VB:
Dim configuration As IConfiguration =
Db4oFactory.NewConfiguration()
configuration.AddAlias(new TypeAlias("com.db4o.ext.Db4oDatabase","Db4objects.Db4o.Ext.Db4oDatabase,
Db4objects.Db4o"));
Then you will need to alias the persisted classes. If your class names match in Java and .NET, you can use a WildcardAlias, which allows to alias all the classes in a package/namespace at once:
c#:
configuration.AddAlias(new WildcardAlias(" com.db4odoc.aliases.*","
Db4objects.Db4odoc.Aliases.*, Db4objects.Db4odoc "));
VB:
configuration.AddAlias(new WildcardAlias(" com.db4odoc.aliases.*","
Db4objects.Db4odoc.Aliases.*, Db4objects.Db4odoc "));
If you want to alias only specific classes you can use TypeAlias.
c#:
configuration.AddAlias(new TypeAlias(" com.db4odoc.aliases.Pilot","
Db4objects.Db4odoc.Aliases.Pilot, Db4objects.Db4odoc "));
VB:
configuration.AddAlias(new TypeAlias(" com.db4odoc.aliases.Pilot","
Db4objects.Db4odoc.Aliases.Pilot, Db4objects.Db4odoc "));