将枚举存储为 RavenDB 中的整数

发布于 2024-11-25 22:05:54 字数 126 浏览 2 评论 0原文

我想将枚举存储为 RavenDB 文档中的整数值,而不是全名。这样做,我想确保更改枚举值的名称不会破坏持久性。

使用 FluentNHibernate,我可以创建自定义约定,但我没有找到与 RavenDB 匹配的任何内容。

I would like to store Enums as integer-values inside a RavenDB-document instead of there full-name. Doing so, I would like to ensure, that changing the name of an enum-value, does not break persistence.

With FluentNHibernate, I can create a custom convention, but I didn't find anything matching with RavenDB.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蒲公英的约定 2024-12-02 22:05:54

你现在可以这样做:

store.Conventions.SaveEnumsAsIntegers = true;

You can now just do:

store.Conventions.SaveEnumsAsIntegers = true;
焚却相思 2024-12-02 22:05:54

您可以通过创建 JsonConverter 来执行此操作,然后将其添加到 documentStore.Conventions.Converters 中。

事实上,我们显式存储名称,因此您只需从 documentStore.Conventions.Converters 中删除 EnumJsonConverter

You can do that by creating a JsonConverter to do this, then add it to the documentStore.Conventions.Converters.

In fact, we store the name explicitly, so you can just remove the EnumJsonConverter from documentStore.Conventions.Converters

硬不硬你别怂 2024-12-02 22:05:54

从今天起,您可以执行以下操作:

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

As of today you can do this:

store.Conventions.CustomizeJsonSerializer = jsonSerializer =>
{   
    jsonSerializer.Converters.Remove(jsonSerializer.Converters.Where(c =>
    c.GetType() == typeof(JsonEnumConverter)).First());
}; 

store.Conventions.QueryEnumsAsIntegers = true;

Source: http://groups.google.com/group/ravendb/browse_thread/thread/18fef7b38252b27d

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文