【发布时间】:2016-12-08 19:54:28
【问题描述】:
我有以下型号:
public class PersonModel {
public int Id {get; set;}
public DateTime BirthDay {get;set;}
....
}
当发出获取请求时,OData 返回 DateTimeOffset 而不是 DateTime。例如,请求 '/api/rest/people/1' 返回:
{
id:1,
birthDay: "12/7/2016 8:57:58 PM +00:00"
....
}
我想要什么?我只需要返回日期值“12/7/2016”。我尝试实现自定义 ODataPayloadValue 转换器,但 OData 似乎不理解“日期时间”类型。
public override object ConvertToPayloadValue(object value, IEdmTypeReference edmTypeReference)
{
/// There isn't a IEdmtypeRefere.IsDateTime
/// Thus OData always think that DateTime is equals to DateTimeOffset
if (value is DateTime)
{
///Do some stuff here.
}
return base.ConvertToPayloadValue(value, edmTypeReference);
}
【问题讨论】:
标签: asp.net-mvc datetime asp.net-web-api odata