我可以在OData结果中更改JSON属性吗?

时间:2016-10-28 08:58:26

标签: c# json odata

我创建了一个与OData一起使用的模型,但在JSON输出中,我想更改属性的名称。

这是我的模特:

public partial class Z_TESTE_DATA
{
    [Key]
    public decimal DATA_ID { get; set; }

    public DateTime DATA_DATE { get; set; }

    public string DATA_NAME { get; set; }
}

而且,我想改变DATA_ID_2,DATA_DATE_2和DATA_NAME_2,而不是DATA_ID,DATA_DATE和DATA_NAME。我能这样做吗?

1 个答案:

答案 0 :(得分:1)

OData版本4或更高版本支持属性别名。您可以尝试将dataMember属性添加到属性中,以便为它们提供替代名称,例如

public partial class Z_TESTE_DATA
{
    [Key]
    [DataMember(Name = "DATA_ID_2")]
    public decimal DATA_ID { get; set; }

    [DataMember(Name = "DATA_DATE_2")]
    public DateTime DATA_DATE { get; set; }

    [DataMember(Name = "DATA_NAME_2")]
    public string DATA_NAME { get; set; }
}

反过来也是可能的;

public partial class Z_TESTE_DATA
{
    [Key]
    [DataMember(Name = "DATA_ID")]
    public decimal DATA_ID_2 { get; set; }

    [DataMember(Name = "DATA_DATE")]
    public DateTime DATA_DATE_2 { get; set; }

    [DataMember(Name = "DATA_NAME")]
    public string DATA_NAME_2 { get; set; }
}