我有一个 OData 控制器,它返回一个包含 Enum 属性的模型。Json 的默认行为是解析枚举以返回值名称而不是其 Int 值。我创建了一个自定义 Json 转换器,它使用 int 值(仍然是 OData 规范之后的字符串),并在 Global.asax 文件上指定了这个转换器。问题是 OdataController 根本不使用转换器。
我的问题是,我是否遗漏了什么或对 Odata 进行了错误的配置?我知道这与常规 APIController 一起工作正常。
第二个问题(实际上更像是一种意见),我使用 OData 的方式是错误的吗?到目前为止,使用 ODataController 已被证明对于我的场景来说麻烦而不是值得。
这是一个复制问题的示例:
public enum Currency {
[Display(Name = "British Pound")]
GBP = 1,
[Display(Name = "Dollar")]
USD = 2,
[Display(Name = "Euro")]
EUR = 3,
[Display(Name = "Brazilian Real")]
BRL = 4
}
public class OrderItem {
public int Id { get; set; }
public string Description { get; set; }
public decimal …Run Code Online (Sandbox Code Playgroud)