【问题标题】:How to get the enum value instead of enum name in OData v4?如何在 OData v4 中获取枚举值而不是枚举名称?
【发布时间】:2018-03-12 20:31:35
【问题描述】:

我有一个如下所示的枚举:

enum Color : byte
{
    Transparent,
    White,
    Black
}

当我从我的实体请求值时,我得到的结果是字符串,而不是整数,例如:

{
    "Color": "White"
}

有没有办法让 OData 返回值而不是值的名称?

我正在使用 Microsoft.AspNet.OData v6.1.0、Microsoft.OData.Core v7.2.0 和 Microsoft.Odata.Edm v7.2.0。

目标框架是.Net Framework 4.6.1。

【问题讨论】:

标签: c# .net asp.net-mvc enums odata


【解决方案1】:

您可以尝试添加新属性,如下所示:

public byte ColorInt { get { return (byte)Color; }}

我遇到了同样的问题,经过大量搜索后找到的唯一解决方案就是。

如果您不希望返回 Color 属性,可以使用 JsonIgnore 属性对其进行装饰。

【讨论】:

    猜你喜欢
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 2022-10-03
    • 2013-04-08
    • 1970-01-01
    相关资源
    最近更新 更多