Question

J'ai un problème de conception de base de données, où les propriétés de l'objet de base de données ne sont pas fixes. Et l'utilisateur de l'application doit avoir l'option d'ajouter propery à l'objet à tout moment.

Étant donné que cela ne peut pas être mis en œuvre dans la conception de base de données traditionnelle avec un nombre fixe de colonnes, Je pense à l'aide de la valeur paire de clés design pattern Et je suis à la recherche des moyens de la mettre en œuvre en c # (. Net).

Je préfère utiliser comme base de données Mysql de back-end.

Q1. Quelle est la meilleure façon de sérialiser l'objet et stocker dans la base de données MySQL? (XML ou JSON ou binaire?)

Q2. Yat-il un moteur de base de données clé paire de valeurs, avec robustes .Net Manchettes?

Était-ce utile?

La solution

sérialisation ajoutera une surcharge de performance à votre application, mais si vous allez pour cela puis j'utiliser sérialisation binaire comme il est le plus rapide. Jetez un oeil à protobuf-net pour la sérialisation.

Autres conseils

Si vous ne avez pas besoin d'interroger / rapport sur ces propriétés, je suggère que l'économie XML, sérialisation vos objets avec une sorte de couplage lâche qui wont erreur si les propriétés sont ajoutées ou supprimées. JSON peut être gérée par votre application au moment de servir le contenu.

Si vous ne souhaitez interroger / rapports avec d'autres champs de la base, je suggère de venir avec une sorte de schéma de base de données qui permet de stocker les données.

Pour autant que je sache, MySQL supporte les champs XML. Je ne sais pas si elle peut indexer si.

Il suffit de sérialiser votre objet xml avec XmlSerializer et un regard sur les MySQL fonctions xml .

En réponse à Q2:

magasins Apache CouchDB JSON.

Voici un guide de démarrage pour C #: http://wiki.apache.org/ couchdb / Getting_started_with_C% 23

La base de données a une interface RESTful, ce qui le rend facile à utiliser dans toutes les langues.

Êtes-vous sûr que vous devez base de données relationnelle? Pour mes besoins, le courant est assez db4objects

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top