我想将Enums存储为RavenDB文档中的整数值而不是全名。这样做,我想确保,更改枚举值的名称,不会破坏持久性。
使用FluentNHibernate,我可以创建一个自定义约定,但是我找不到任何与RavenDB相匹配的内容。
答案 0 :(得分:9)
您现在可以这样做:
store.Conventions.SaveEnumsAsIntegers = true;
答案 1 :(得分:8)
您可以通过创建JsonConverter来执行此操作,然后将其添加到documentStore.Conventions.Converters
。
事实上,我们明确地存储了名称,因此您可以从documentStore.Conventions.Converters
答案 2 :(得分:3)
截至今天,您可以这样做:
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