Was ist der beste Weg zum speichern von Daten lokal in einer WPF-Anwendung?
Baue ich einige WPF Anwendung zur Verwaltung meiner Zeit. Ich möchte, um Zeit zu sparen, umfasst zur Zeit Arbeit am Projekt für einen Kalender Tag.
Also meine Frage ist, was ist die beste Wahl, wie die Daten zu speichern? Ich dachte, ich könnte eine XML-Datei verwenden, eine Zugang Datenbank-Datei oder vielleicht eine Immobilie. Id gerne speichern Sie die Daten lokal, so dass keine SQL Server Aktion in diesem Fall. 🙂
Was denkst du, welchen Weg zu gehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde greifen SQLite entweder in reiner oder ein .NET-freundlichen form (doing eine Google-Suche nach 'sqlite .net' geben Sie ein paar Optionen dort). Es ist super-portabel und, meiner Meinung nach, einfacher einzurichten und zu verteilen, als SQL Server compact.
Das wichtigste ist, um sicherzustellen, dass Sie nicht zu eng gepaart mit der Persistenz-Mechanismus in Ihrem code, so dass Sie in Zukunft könnte leicht zu ersetzen beliebigen storage-Strategie, die Sie wollen.
Ich weiß, Sie sagte, dass keine SQL-Server, aber ich lese, dass zu bedeuten, Sie wollen keine "server", und Sie speichern Ihre Daten auf dem client. Ich nehme an auch Sie wahrscheinlich würde nicht dagegen einige Verwaltbarkeit Ihrer Daten. Sie wissen, Dinge wie backup. Und Transaktionen sind auch immer wieder schön, so können Ihre Daten konsistent bleiben. Also, während Sie könnte verwenden XML (bitte verbanne alle Gedanken der Zugriff aus dem Kopf), würden Sie am Ende Ihre eigenen Rollen Persistenz, wenn dies ein problem gelöst ist.
So, bitte schauen Sie sich die Kostenlose SQL Server Compact edition. Es ist leicht, ausgeführt auf einem desktop-oder mobilen Gerät, und ist einfach einsetzbar, wenn die app überhaupt braucht, das zu tun. Und alle gängigen Persistenz-frameworks unterstützen. Und habe ich erwähnt das es kostenlos ist (wie in der nichts kostet)?
Ich würde vorschlagen, Kommissionierung die einfachste Datenquelle möglich und Entkopplung entsprechend, so dass Sie drop in eine neue, andere datasource zu einem späteren Zeitpunkt, wenn Sie herausfinden, was das passende für Ihre Zwecke. Zu diesem Zweck können Sie etwas finden, wie XML oder auch Klartext-die einfachste Sache, die möglicherweise funktionieren kann.
Sobald Sie bestimmen die Merkmale, die Sie benötigen, aus Ihrer Datenquelle, auf Basis Ihrer tatsächlichen Nutzung ist, wählen Sie das entsprechende backing-store.
Ich glaube nicht, dass es wichtig ist, diese Entscheidung zu treffen vorne, denn dies ist ein persönliches Projekt, nicht eine kommerzielle.
Einen Toten einfachen Ansatz, den ich in der Vergangenheit verwendet habe, ist Ihre "xml-Datei" - Idee. Erstellen Sie einfach ein Objekt, das die Daten beschreibt, die Sie interessieren, und dann serialisieren nach xml.
Greg ist absolut richtig, wenn er sagt, stellen Sie sicher, dass Ihre Datenquelle ist richtig entkoppelt, so dass Sie können schalten Sie es aus, wenn sich Ihre Anforderungen ändern.