Вы можете взглянуть на ответ на этот вопрос . Насколько я знаю, типы enum не являются частью SQL Server.
В любом случае, лучше использовать целочисленный тип (INT
, TINYINT
, ...) для перечислений, чем строковый тип. Обычно типы перечислений в выбранном вами языке программирования лучше соответствуют целым числам, чем строкам.
В C # по умолчанию каждое значение перечисления соответствует целому числу, начиная с 0. Вы можете даже приводить между ними, так что это правильный код:
public enum MyEnum
{
FirstEnumValue,
SecondEnumValue
}
...
// Assuming you have opened a SqlDataReader.
MyEnum enumValue = (MyEnum) reader["account_category"];
И LINQtoSQL также поддерживает это. Если у вас есть свойство типа enum и столбец вашей базы данных имеет целочисленный тип, преобразование выполняется автоматически.