2009-12-16 7 views
2

Dans une application MVC, il est assez fréquent d'avoir une liste d'objets sur lesquels vous cliquez pour voir les détails et/ou éditer. Lorsque vous utilisez un db relationnel, ceci est réalisé en utilisant la clé primaire ou id:db4o mvc index page vers la page de détails

<%= Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID }) %> 

Comment voulez-vous faire en utilisant un OODB tel que db4o?

Merci!

Répondre

2

Il y a trois possibilités:

  • Utilisation du internal object-id. Db4o donne à chaque objet un identifiant interne que vous pouvez utiliser. Cependant cet identifiant change dès que vous défragmentez la base de données. Par conséquent, il n'est pas utilisable pour les liens permanents. Utilisation de Db4o-GUID: Db4o peut générer un UUID pour chaque objet. Vous pouvez l'utiliser comme identifiant. Cependant cet UUID est énorme.

  • Utilisez votre propre ID. Vous pouvez attribuer vous-même un identifiant à vos objets. Il y a différentes possibilités. Par exemple, vous pouvez créer un Guid pour chaque objet. Ou utilisez le HiLo-Algorithm.

+0

à peu près ce que je pensais. Je pense que je vais aller avec le guid. Merci! – user10479

+0

Attention, les anciennes versions de db4o gèrent assez mal Guids. La version 7.12 actuelle rend les manettes beaucoup plus efficaces. – Gamlor

+0

J'utilise 7.4. Hows cela pour les id? – user10479