Сохранение перечислений в виде строк в MongoDB

Есть ли способ сохранить перечисления в виде имен строк, а не порядковых значений?

Пример:

Представьте, что у меня есть это перечисление:

public enum Gender
{
    Female,
    Male
}

Теперь, если существует какой-то воображаемый Пользователь с

...
Gender gender = Gender.Male;
...

, он будет сохранен в базе данных MongoDb как {... "Gender": 1 ...}

, но я бы предпочел что-то вроде этого {... "Gender" : "Мужчина" ...}

Возможно ли такое? Пользовательское отображение, трюки с отражением, что угодно.

Мой контекст: я использую строго типизированные коллекции вместо POCO (ну, я отмечаю AR и иногда использую полиморфизм). У меня есть тонкий слой абстракции доступа к данным в форме Unit Of Work. Итак, я не сериализую / десериализую каждый объект, но я могу (и делаю) определить некоторые ClassMaps. Я использую официальный драйвер MongoDb + fluent-mongodb.

65
задан Kostassoid 9 August 2011 в 13:25
поделиться