На самом деле LINQ-to-SQL может связывать целые числа непосредственно с перечислениями (либо с int
(и т. Д.), Либо с [n][var]char
данными столбцов в базе данных), поэтому простой ответ - создать перечисление (в ваших данных / слой хранилища) и измените dbml (обычно через конструктор), чтобы он использовал (полностью определенный) тип перечисления для столбца состояния.
Если это не вариант, я переименую свойство status в классе (снова через dbml) во что-то вроде StatusCode
и добавлю частичный класс, который возвращает предпочтительное представление (как перечисление или строка) т.е.
partial class YourType { // only do this if direct enum mapping isn't an option
public Status Status { // could also be string
get {
switch(StatusCode) {
case 0: return Status.Open;
// etc
}
}
}
}