У меня также были те же проблемы, что и у вас, и я пытался использовать как можно больше перечислений, потому что это делает читабельность немного проще.
Подход, который я использовал, несколько избыточен, однако я создал таблицу поиска и использовал зеркальное перечисление в коде.Проблема с использованием только перечислений заключается в том, что в БД сохраняются статусы, которые вводят в заблуждение и должны быть обнаружены в документации.Проблема с подходом только к БД состоит в том, что читаемость кода серьезно затруднена, и у вас будут совершенно нечитаемые операторы, такие как if (status == 2) ...
Кроме того, если добавлен элемент enum, то выполнение программыизменить и код должен быть обновлен в любом случае.Это делает его довольно неактуальным.Стратегии развертывания, такие как ClickOnce, делают развертывание почти тривиальным.