Auf der Suche nach der schmerzlossten Nicht-RDBMS-Speichermethode in C#
-
23-09-2019 - |
Frage
Ich schreibe ein einfaches Programm, das vollständig kundenseitig ausgeführt wird. (Desktop -Programmierung? Tun die Leute das noch?) Und ich brauche eine einfache Möglichkeit, triviale Datenmengen in strukturierter Form zu speichern, sehen aber wirklich keine Notwendigkeit, ein Datenbanksystem zu verwenden. Darüber hinaus müssen einige der Daten serialisiert und an verschiedene Benutzer weitergegeben werden, z. B. eine Art "Datei" oder vielleicht ein "Dokument". (Hat das jemals jemand getan?)
Also habe ich mich mithilfe von .NET -Datensätzen, Linq, direkter XML -Manipulation angesehen und alle scheinen die Arbeit zu erledigen, aber ich würde gerne wissen, bevor ich in eine von ihnen eintauche, wenn es eine Methode gibt, die im Allgemeinen ist als einfacher angesehen als andere. Wie gesagt, die Datenmenge, die gespeichert werden soll, ist trivial, auch wenn hundert Menschen alle dieselbe Maschine verwenden, über die wir nicht mehr als 10 MB sprechen, ist die Leistung also nicht so groß wie die Codebarkeit/Wartbarkeit. Vielen Dank im Voraus!
Andere Tipps
Jede Serialisierungs -API sollte hier gut abschneiden. Ich würde etwas empfehlen, das vertragsbasiert ist (nicht BinaryFormatter
, was typisch basiert), da dies im Laufe der Zeit verwendet werden kann (wenn sich Ihre Baugruppe ändert).
Ich würde also ein Basic -Objektmodell (DTO) erstellen und eines von: verwenden:
XmlSerializer
DataContractSerializer
- Protobuf-Net (Sie alle wussten, dass es kommen würde ...)
Oo, einfach und einfach. Und einfach zu verwenden, um Fragmente der Daten zu übergeben (entweder zwischen Benutzern von einem zentralen Server).
Ich würde eine eingebettete Datenbank auswählen. So etwas wie SQLite zu verwenden, scheint für mich kein Overkill zu sein. Sie können sogar den C# -Port (# ausprobieren (http://code.google.com/p/csharp-sqlite/).