Frage

Ich habe eine Aufzählung von Lieferstatuscodes. Und wenn ich Lieferdaten in der Datenbank gespeichert werden sie mit einem Fremdschlüssel zu einer Tabelle gespeichert, die gleichen Daten enthalten (das heißt die gleichen Lieferung Codes)

Was ist die beste Strategie, eine Aufzählung synchron mit Daten in einer Datenbank zu halten?

Erinnern Sie sich nur an die Aufzählung hinzuzufügen, wenn ein neuer Code in die Datenbank aufgenommen wird?

oder die Daten in ein Wörterbuch laden, wenn die Anwendung gestartet wird? Und verwenden Sie das Wörterbuch anstelle einer Aufzählung? Obwohl dies bedeutet, dass ich nicht eine stark typisierte Darstellung der Daten haben -., Die auf jeden Fall möchte ich

oder etwas anderes?

Die Daten sind nicht sehr volatil, aber neuer Codes einmal bekomme hinzugefügt jeder blauer Mond

Möchten Vorschläge zu schätzen wissen.

Dank

War es hilfreich?

Lösung

Ich verwende T4-Vorlagen in Visual Studio 2008. So ich Code-Generierung während Build zwingen kann, und es erzeugt Aufzählungen für jede Tabelle, die ich will.

Ein guter Ausgangspunkt wäre Hilton Giesenow der Probe , die ich Antworten genau Ihre Frage glauben.

Ein interessanter Ansatz, aus einem anderen Blickwinkel, wäre SQL-Ansichten zu verwenden Aufzählungen in der Datenbank zu emulieren. So synchronisieren Sie die Datenbank mit Ihrem C # (oder andere) Code. Sie können einen großen Beitrag darüber auf Oleg Sych Blog finden, hier .

Andere Tipps

Wenn ich eine Aufzählung im Code verwenden, speichere ich in der Regel die formatierten Namen als varchar in der Datenbank, anstatt eine Tabelle der Aufzählungswerte in der Datenbank zu halten. Ich weiß, dass dies nicht so normiert ist, wie man vielleicht gefallen, aber ich glaube, es ist besser, als zu versuchen, synchronisiert die Datenbank und meine Aufzählung zu halten. Alles, was benötigt wird, ist auf insert / update zu formatieren und analysiert zu wählen, den Wert wieder in die Aufzählung.

zur Rekonstitution

ich dies nur tun, wenn ich glaube, dass die Aufzählung festgelegt werden wird - obwohl auch ich selten Updates gemacht habe. Wenn ich glaube, dass es wahrscheinlich ist, dass die Daten regelmäßig aktualisiert werden, werde ich nicht eine Aufzählung verwenden und eine separate Tabelle in der Datenbank mit Fremdschlüssel-Referenzen hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top