У меня есть число перечислений в моем приложении , которые используются в качестве типа свойства в некоторых классах.Лучший способ для хранения значений enum в базе данных - String или Int
Каков наилучший способ сохранить эти значения в базе данных, например, String или Int?
FYI, я также буду сопоставлять эти типы атрибутов с помощью свободного Nhibernate.
Пример кода:
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; }
}
}
Я не могу поверить, что вы даже подумали о том, чтобы рекомендовать подход, который может легко привести к повреждению данных! Просто из воображаемой заботы о компактности? Если проблема компактности в том, что она сильная, добавьте поле int в перечисление! НИКОГДА не полагайтесь на порядковый номер. Чтение эффективной Java. –
Я действительно не вижу, где я рекомендую что-либо быть честным. Я только заявляю о преимуществах и недостатках. Хотя у вас есть смысл, не желая полагаться на порядковое значение, вы можете захотеть превратить этот «огонь» в ваш комментарий с надписями;) – pyrocumulus
@KevinBourrillion Что означает «добавить поле int к перечислению»? – John