2016-10-28 48 views
1

我創建了一個與OData一起使用的模型,但在JSON輸出中,我想更改屬性的名稱。我可以更改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,DATA_DATE和DATA_NAME,我想改變,例如,DATA_ID_2,DATA_DATE_2和DATA_NAME_2。我可以這樣做嗎?

+0

您是否使用類似JSON.net的東西將您的模型轉換爲JSON? –

+0

No. OData將數據自動轉換爲JSON。 –

回答

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; } 
} 
+0

對不起,但沒有工作。我的應用程序顯示這個錯誤:'在URI中指定的查詢無效。找不到類型爲'DSVtoJSON.Models.Models.DbModels.Z_TESTE_DATA'的名爲'DATA_DATE'的屬性。 –

+0

我確定您已檢查過,但您是否在使用OData v4或更高版本? –

+0

我正在使用System.Web.OData,我認爲這是v4。在我的模型中,我必須引用一個特定的庫? –

相關問題