2008-11-19 35 views
2

Je suis nouveau sur les systèmes OODBMS, mais j'utilise Db4o sur un nouveau projet pour lequel il est parfaitement adapté. Les choses vont bien et j'aime vraiment le concept, mais je me bats avec la façon de faire les tâches de base de gestion de données associées au développement. Périodiquement, je veux effacer tout un certain type dans la base de données, comment puis-je le faire sans réellement écrire une méthode dans le code pour le faire et ensuite exécuter mon application? Aussi, comment puis-je répondre aux changements de "schéma". Si je change la définition d'une classe particulière, est-ce que Db4o crée une nouvelle "table" pour elle, ou la reconnaît-elle comme le même type avec juste un ensemble différent de membres?Comment faire des tâches de gestion de données dans une base de données d'objets Db4o?

BTW ... Je suis dans .NET 3.5

Répondre

2

Je l'habitude d'écrire le code de développement pour aussi longtemps que je besoin (jusqu'à ce que l'application peut gérer ces problèmes lui-même). Vous serez heureux de savoir que ObjectManager est maintenant gratuit, vous pouvez donc vouloir le vérifier http://developer.db4o.com/blogs/product_news/archive/2009/01/25/object-manager-enterprise-now-free-to-all-developers.aspx

Les modifications de schéma doivent être adressées en ajoutant des valeurs par défaut à de nouveaux champs. Db4o ne va pas "créer une nouvelle table" mais simplement "ajouter une nouvelle colonne". L'objet que vous extrayez de db après avoir modifié la définition de votre classe aura la nouvelle propriété mais elle sera null - il est donc recommandé d'ajouter une valeur par défaut. De cette façon, tous vos objets seront triés lors de la première utilisation. Les champs supprimés seront ignorés.