2016-10-28 4 views
1

OData와 함께 사용할 모델을 만들었지 만 JSON 출력에서 ​​속성 이름을 변경하려고합니다. 대신 DATA_ID, DATA_DATE 및 DATA_NAME, 나는 DATA_ID_2, DATA_DATE_2 및 DATA_NAME_2, 예를 들어, 변경하려는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; } 
} 

그리고 :

이 내 모델입니다. 내가 할 수 있을까?

+0

모델을 JSON으로 변환하는 데 JSON.net과 같은 것을 사용하고 있습니까? –

+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.Models.DbModels.Z_TESTE_DATA'유형의 'DATA_DATE'속성을 찾을 수 없습니다. –

+0

OData v4 이상을 사용하고 계신지 확인하셨습니까? –

+0

System.Web.OData를 사용하고 있는데 v4라고 생각합니다. 내 모델에서는 특정 라이브러리를 참조해야합니까? –

관련 문제