Certaines choses que vous devriez prendre en considération.
Est l'énumération colonne va être directement utilisés par d'autres applications, comme par exemple les rapports. Cela permettra de limiter la possibilité de l'énumération d'être stockée dans son format de nombre entier parce que la valeur n'ont pas de signification lorsqu'ils sont présents dans un rapport, à moins que les rapports ont une logique personnalisée.
Quelles sont les i18n besoin pour votre application? Si il prend en charge uniquement une langue, vous pouvez économiser de l'énumération comme du texte et créer une méthode d'aide à convertir à partir d'une chaîne de description. Vous pouvez utiliser [DescriptionAttribute]
pour les ce et les méthodes pour la conversion peut probablement être trouvés par la recherche de la SORTE.
Si d'autre part vous avez besoin de langue de multiple de soutien et de l'application externe d'accès à vos données, vous pouvez commencer à envisager si l'énumération sont vraiment la réponse. Autre option, comme les tables de consultation peuvent être considérés, si le scénario est plus complexe.
Les énumérations sont excellents quand ils sont autonomes dans le code... quand ils traversent la frontière, les choses ont tendance à être un peu sale.
Mise à jour:
Vous pouvez convertir un entier en utilisant Enum.ToObject
méthode. Cela implique que vous connaissez le type de l'énumération lors de la conversion. Si vous souhaitez vous rendre complètement générique, vous devez stocker le type de l'énumération à côté de la valeur dans la base de données. Vous pouvez créer dictionnaire des données de tables de soutien pour vous dire que les colonnes qui sont les énumérations et de quel type sont eux.