如何在OData v4中获取枚举值而不是枚举名?

时间:2018-03-12 20:31:35

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

我有一个看起来像这样的枚举:

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。

1 个答案:

答案 0 :(得分:0)

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

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

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

如果您不想返回Color属性,可以使用JsonIgnore属性修饰它。