У меня есть объект данных (скажем, он называется «Ввод»), который имеет набор потенциальных состояний, которые выглядят примерно так:
1 - Created
2 - File added
3 - Approved
4 - Invalid
Это представлено в базе данных с помощью таблицы «Status» с первичным ключом autonumber, а затем поля «StatusId» в основной таблице с установленными соответствующими отношениями.
В моем (пользовательском) слое данных у меня есть объект 'Entry', и в настоящее время я также объявляю Enum с указанными выше состояниями. Наконец, я объявляю частный экземпляр этого Enum вместе с соответствующим публичным свойством.
В моем методе Commit () я приводил экземпляр Enum к целому числу и передавал его в хранимую процедуру Update.
В моем статическом методе 'GetEntry ()' мне, очевидно, будет передано целое число из базы данных. Затем я использую метод Enum.Parse () для извлечения объекта, который является экземпляром моего Enum, который соответствует возвращаемому целому числу состояния. Я приведу это к типу моего Enum и назначу его локальной закрытой переменной.
Мой вопрос довольно прост - подходит ли этот подход, и, если нет, то какая альтернатива, кроме простого хранения необработанного целочисленного значения (к которому я не обязательно обращаюсь), лучше.
Моя причина спрашивать, что все это кажется мне просто невероятно запутанным, что со всеми приведением и ведением двух списков одного и того же набора значений. Я принимаю преимущество, заключающееся в лучшем опыте для потребителя объекта данных, но даже в этом случае ...
Спасибо!