Beste Möglichkeit, Daten lokal in .NET zu speichern (C #)

Ich Schreibe eine Anwendung, die Benutzer nimmt die Daten und speichert Sie lokal für den späteren Gebrauch. Die Anwendung wird gestartet und gestoppt werden ziemlich oft, und ich möchte es speichern/laden die Daten auf Anwendung starten/beenden.

Es wäre ziemlich einfach, wenn ich verwendet, Flachbild-Dateien, da die Daten nicht wirklich brauchen, zu sichern (es werden nur gespeichert auf diesem PC). Die Optionen, die ich glaube, sind also:

  • Flachbild-Dateien
  • XML
  • SQL-DB

Flachbild-Dateien benötigen ein wenig mehr Aufwand zu pflegen (keine built-in-Klassen wie bei XML), allerdings habe ich keine XML-vor-und SQL-scheint wie overkill für diese relativ leichte Aufgabe.

Gibt es irgendwelche anderen Möglichkeiten, die eine Untersuchung Wert? Wenn nicht, welche von diesen die beste Lösung?


Edit: Um ein wenig mehr Daten zu dem problem, im Grunde die einzige Sache, die ich gern in den laden ist ein Wörterbuch, das wie folgt aussieht

Dictionary<string, List<Account>> 

wo Konto ist ein anderer benutzerdefinierter Typ.

Würde ich serialisieren, die das dict als xmlroot, und der Account dann geben Sie als Attribute?


Update 2:

So ist es möglich, zu serialisieren ein Wörterbuch. Was macht es kompliziert ist, dass der Wert für das dict ist eine Allgemeine selbst, das ist eine Liste von komplexen Datenstrukturen vom Typ Konto. Jedes Konto ist ziemlich einfach, es ist nur ein Bündel von Eigenschaften.

Es ist mein Verständnis, dass das Ziel hier ist, zu versuchen und am Ende mit diesem:

<Username1>
    <Account1>
        <Data1>data1</Data1>
        <Data2>data2</Data2>
    </Account1>
</Username1>
<Username2>
    <Account1>
        <Data1>data1</Data1>
        <Data2>data2</Data2>
    </Account1>
    <Account2>
        <Data1>data1</Data1>
        <Data2>data2</Data2>
    </Account2>
 </Username2>

Wie Sie sehen können die heirachy ist

  • Username (string dict) >
  • Konto (jedes Konto in der Liste) >
  • - Konto-Daten (d.h. Eigenschaften der Klasse).

Erhalt dieses layout von einem Dictionary<Username, List<Account>> ist das knifflige bit, und die Essenz dieser Frage.

Gibt es viele "how to" - Antworten Sie hier auf serialisieren, das ist meine Schuld, da ich nicht deutlicher machen früh, aber jetzt bin ich auf der Suche nach einer endgültigen Lösung.

InformationsquelleAutor der Frage George | 2009-12-21

Schreibe einen Kommentar