2016-10-28 7 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に変換するのにJSON.netのようなものを使用していますか? –

+0

いいえ。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だと思います。私のモデルでは、特定のライブラリを参照する必要がありますか? –

関連する問題