Как показать числовой статус в приложении MVC - PullRequest
2 голосов
/ 07 апреля 2009

Я создаю новое приложение на основе MVC и рассматриваю LINQ-To-SQL / Entity Framework. У меня есть объект, который имеет числовой статус Как (0 - Открыто, 1 - Активно, 2 - Закрыто), Куда я должен поместить логику, чтобы показать соответствующую строку (Enum ??) в представлении / контроллере или модели, которая генерируется автоматически ? Должен ли я перенести всю такую ​​логику на бизнес-уровень? Должен ли я добавить бизнес-логику и новое свойство (для отображения статуса строки) к частичным классам, созданным с помощью LINQ-To-SQL?

1 Ответ

2 голосов
/ 07 апреля 2009

На самом деле 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
             }
         }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...