Ну, насколько мне известно, NHibernate хранит перечисления как строки только в БД по умолчанию. Я думаю, я знаю, в чем здесь проблема. То, как вы создаете таблицу, неверно.
если вы используете Nhibernate, используйте функцию построения конфигурации для создания таблиц вместо того, чтобы создавать таблицы вручную, и тогда вы увидите, что ваше перечисление хранится в виде строки.
Мы широко используем перечисления в нашем приложении, и для нас имеет смысл хранить их как строки в БД. Причины просты, если я добавлю новое значение в перечисление, то, если значения по умолчанию не установлены, тогда мой код и мои данные тесно связаны, чего я определенно не хотел бы.
SimpleConfig.ExposeConfiguration(c => new SchemaExport(c).Create(false, true)).BuildConfiguration();
Также вместо char можно использовать varchar для свойства.
После обновления:
Не могли бы вы, ребята, сделать какую-то манипуляцию перед тем, как сохранить ее в базе данных? Таким образом, если вы хотите сохранить новые списки символов, напишите функцию, которая генерирует для вас значение типа int, и сохраните ее в правильной форме, а затем сохраните ее или, если вы хотите упростить ее, функция может иметь регистр переключения.
Итак, что вы делаете, у вас нет доступа к этому свойству, которое извлекается из БД, вместо этого вы добавляете новое свойство в класс Status, которое в основном имеет логику получения соответствующего перечисления.
Как вы думаете, это хорошая идея?
Надеюсь, это поможет.