Java oder C # sollten immer Enums im Code verwenden. Haftungsausschluss: Mein Hintergrund ist C #.
Wenn der Wert in einer Datenbank beibehalten werden soll, sollten die Integralwerte jedes Aufzählungselements explizit definiert werden, damit eine spätere Änderung des Codes nicht versehentlich die übersetzten Aufzählungswerte und damit das Anwendungsverhalten ändert.
Werte sollten immer als integrale Werte in einer Datenbank gespeichert werden, um sie vor dem Refactoring von Enum-Namen zu schützen. Bewahren Sie die Dokumentation zu jeder Aufzählung in einem Wiki auf und fügen Sie dem Datenbankfeld einen Kommentar hinzu, der auf die Wiki-Seite verweist, die den Typ dokumentiert. Fügen Sie dem Aufzählungstyp, der einen Link zum Wiki-Eintrag enthält, auch XML-Dokumentation hinzu, damit dieser über Intellisense verfügbar ist.
Wenn Sie ein Tool zum Generieren von CRUD-Code verwenden, sollte es in der Lage sein, einen Aufzählungstyp zu definieren, der für eine Spalte verwendet werden soll, damit generierte Codeobjekte immer aufgezählte Elemente verwenden.
Wenn für ein Aufzählungsmitglied eine benutzerdefinierte Logik angewendet werden muss, haben Sie einige Optionen:
- Wenn Sie über eine Aufzählung MyEnum verfügen, erstellen Sie eine statische Klasse MyEnumInfo, die Dienstprogrammmethoden bietet, um zusätzliche Informationen über das Aufzählungselement mithilfe von switch-Anweisungen oder anderen erforderlichen Mitteln zu ermitteln. Durch Anhängen von "Info" an das Ende des Aufzählungsnamens im Klassennamen wird sichergestellt, dass sie in IntelliSense nebeneinander stehen.
- Dekorieren Sie die Aufzählungselemente mit Attributen, um zusätzliche Parameter anzugeben. Zum Beispiel haben wir ein EnumDropDown-Steuerelement entwickelt, das ein ASP.NET-Dropdown-Menü mit Aufzählungswerten erstellt, und ein EnumDisplayAttribute gibt den gut formatierten Anzeigetext an, der für jedes Mitglied verwendet werden soll.
Ich habe dies nicht versucht, aber mit SQL Server 2005 oder höher könnten Sie theoretisch C # -Code in der Datenbank registrieren, der Aufzählungsinformationen enthält, und die Möglichkeit, Werte in Aufzählungen zu konvertieren, um sie in Ansichten oder anderen Konstrukten zu verwenden, und so eine Methode zum Übersetzen von erstellen Daten auf eine Weise, die für DBAs einfacher zu verwenden ist.