J'ai un certain nombre d'énumérations dans mon application qui sont utilisés comme type de propriété dans certaines classes.Meilleure façon de stocker des valeurs enum dans la base de données - Chaîne ou Int
Quelle est la meilleure façon de stocker ces valeurs dans la base de données, comme String ou Int? FYI, je vais aussi cartographier ces types d'attributs en utilisant le Nhibernate fluide.
Exemple de code:
public enum ReportOutputFormat
{
DOCX,
PDF,
HTML
}
public enum ReportOutputMethod
{
Save,
Email,
SaveAndEmail
}
public class ReportRequest
{
public Int32 TemplateId
{
get { return templateId; }
set { templateId = value; }
}
public ReportOutputFormat OutputFormat
{
get { return outputFormat; }
set { outputFormat = value; }
}
public ReportOutputMethod OutputMethod
{
get { return outputMethod; }
set { outputMethod = value; }
}
}
Je ne peux pas croire que vous considériez même à moitié recommander une approche qui pourrait facilement entraîner la corruption de données! Tout juste sorti d'un souci imaginaire de compacité? Si le souci de compacité est aussi fort, ajoutez un champ int à l'énumération! Ne comptez JAMAIS sur l'ordinal. Lire Java efficace. –
Je ne vois vraiment pas où je recommande quelque chose pour être honnête. Je ne fais qu'énoncer les avantages et les inconvénients. Bien que vous ayez un point, ne voulant pas compter sur la valeur ordinale, vous voudrez peut-être tourner ce 'feu' dans votre commentaire d'un cran;) – pyrocumulus
@KevinBourrillion Que signifie "ajouter un champ int à l'énumération"? – John