Ответ 1
Теперь вы можете просто сделать:
store.Conventions.SaveEnumsAsIntegers = true;
Я хотел бы сохранить Enums как целочисленные значения внутри RavenDB-документа вместо полного имени. Сделав это, я хотел бы убедиться, что изменение имени значения enum не нарушает настойчивость.
С FluentNHibernate я могу создать пользовательское соглашение, но я не нашел ничего подходящего с RavenDB.
Теперь вы можете просто сделать:
store.Conventions.SaveEnumsAsIntegers = true;
Это можно сделать, создав JsonConverter для этого, затем добавьте его в documentStore.Conventions.Converters
.
Фактически, мы сохраняем имя явно, поэтому вы можете просто удалить EnumJsonConverter с documentStore.Conventions.Converters
На сегодняшний день вы можете сделать это:
store.Conventions.CustomizeJsonSerializer = jsonSerializer =>
{
jsonSerializer.Converters.Remove(jsonSerializer.Converters.Where(c =>
c.GetType() == typeof(JsonEnumConverter)).First());
};
store.Conventions.QueryEnumsAsIntegers = true;
Источник: http://groups.google.com/group/ravendb/browse_thread/thread/18fef7b38252b27d