Vous recherchez le plus indolore méthode de stockage non SGBDR en C #
-
23-09-2019 - |
Question
J'écris un programme simple qui se déroulera entièrement côté client. (Programmation Desktop? Ce que les gens font encore ça?) Et je besoin d'un moyen simple de stocker des quantités infimes de données sous une forme structurée, mais ne vois vraiment pas besoin d'utiliser un système de base de données. De plus, certaines des données doit être sérialisé et passé autour de différents utilisateurs, comme une sorte de « fichier » ou peut-être un « document ». (Quelqu'un at-il jamais fait auparavant?)
Alors, je l'ai regardé en utilisant les fichiers .Net, LINQ, manipulation XML directe, et ils semblent tous comme ils faire le travail, mais je voudrais savoir avant de plonger dans l'un d'eux s'il y a une méthode qui est généralement considéré comme plus facile à coder que d'autres. Comme je l'ai dit, la quantité de données à stocker est trivial, même si une centaine de personnes ont tous utilisé la même machine que nous ne parlons pas de plus de 10 Mo, donc la performance ne soit pas aussi une préoccupation tout comme codeability / maintenabilité. Merci à vous tous à l'avance!
Autres conseils
Une API de sérialisation devrait faire bien ici. Je recommande quelque chose qui est basé contrat ( pas BinaryFormatter
, qui est fondée sur le type) car cela garder utilisable au fil du temps (comme vos changements d'assemblage).
Je construirais un modèle d'objet de base (DTO) et utiliser l'une:
-
XmlSerializer
-
DataContractSerializer
- protobuf-net (vous saviez tous qu'il allait venir ...)
OO, simple et facile. Et facile à utiliser pour des fragments passant des données (soit entre les utilisateurs de à un serveur central).
Je choisirais une base de données intégrée. En utilisant quelque chose comme sqlite ne semble pas être un surpuissant pour moi. Vous pouvez même essayer son port c # ( http://code.google.com/p/csharp -sqlite / ).