2016-10-28 1 views
1

Я создал модель для использования с OData, но в выводе JSON я хочу изменить имя свойства.Можно ли изменить свойство JSON в результатах OData?

Это моя модель:

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_ID_2, DATA_DATE_2 и DATA_NAME_2. Я могу это сделать?

+0

Вы используете что-то вроде JSON.net для преобразования вашей модели в JSON? –

+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, недопустим. Не удалось найти свойство с именем «DATA_DATE» в типе «DSVtoJSON.Models.Models.DbModels.Z_TESTE_DATA». –

+0

Я уверен, что вы проверили, но используете ли вы OData v4 или выше? –

+0

Я использую System.Web.OData, и я думаю, что это v4. В моей модели я должен ссылаться на определенную библиотеку? –

 Смежные вопросы

  • Нет связанных вопросов^_^