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

3

我有一个枚举类型,看起来像这样:

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。

所以您期望透明为0,白色为1,黑色为2吗? - Ole EH Dufour
是的,你完全正确。 - Emerson Jair
1个回答

0

您可以尝试添加一个新属性,就像这样:

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

我曾经遇到同样的问题,经过长时间搜索,我找到了唯一的解决方案。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接