2016-10-28 2 views
1

Ich habe ein Modell für die Verwendung mit OData erstellt, aber in der JSON-Ausgabe möchte ich den Namen der Eigenschaften ändern.Kann ich die JSON-Eigenschaft im OData-Ergebnis ändern?

Das ist mein Modell:

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

Und statt DATA_ID, DATA_DATE und DATA_NAME, möchte ich ändern, beispielsweise auf DATA_ID_2, DATA_DATE_2 und DATA_NAME_2. Kann ich das machen?

+0

Verwenden Sie etwas wie JSON.net, um Ihr Modell in JSON zu konvertieren? –

+0

Nein. OData konvertiert automatisch Daten in JSON. –

Antwort

1

OData Version 4 oder höher unterstützt das Aliasing von Eigenschaften. Sie können versuchen, das Attribut dataMember zu Ihren Eigenschaften hinzuzufügen, um ihnen alternative Namen zu geben, z.

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

Die Rückseite auch möglich wäre;

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

Sorry aber funktioniert nicht. Meine Anwendung zeigt diesen Fehler: 'Die im URI angegebene Abfrage ist nicht gültig. Es wurde keine Eigenschaft mit dem Namen 'DATA_DATE' vom Typ 'DSVtoJSON.Models.Models.DbModels.Z_TESTE_DATA' gefunden. –

+0

Ich bin mir sicher, dass Sie diese Option ausgewählt haben, aber OData v4 oder höher verwenden? –

+0

Ich benutze System.Web.OData und ich denke, das ist v4. In meinem Modell muss ich auf eine bestimmte Bibliothek verweisen? –

Verwandte Themen