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

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

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。

最佳答案

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

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

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

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

https://stackoverflow.com/questions/49243946/

相关文章:

jenkins - 如何在多分支管道项目中为每个分支级别的用户提供访问权限?

json - 使用 REST API 的 POST 方法进行读取操作

apache-flink - 在不重启作业的情况下在 Apache Flink 中动态添加模式

python - 如何使用 R 按列将 .csv 拆分为多个 .csv?

android - 在 test.Jar 中启动 startActivity() ,Cordova

google-bigquery - bigquery 备份所有 View 定义

python - BeautifulSoup- find_all- 订单保存

security - 自动关联社交登录有什么安全风险(Oauth2)

python - 如何对 Pandas RE .str.extract() 使用 RE OR 操作数

google-app-engine - 如何在 objectify 中通过嵌套 Refs 进行查询