我想使用Patch with Delta来更新具有Timespan属性的对象 我没有任何错误,但Timespan属性都是0:00:00,我认为它们被简单地忽略了。
当控制器中的方法停在断点处时,我可以在timespan属性中看到0。我不会在那个阶段对数据做任何改变。 我肯定不会从客户端发送空的时间跨度
{"TevID":2,"TevName":"this is the name","TotalTime":"01:03:00","FreeTime":"02:30:00"}
[HttpPatch]
public async Task<IHttpActionResult> Patch(int id, Delta<TTevekenyseg> modified) {
Log.Info("Update-ID: {0}", id);
...
}
如果Delta适用于Timespans,您有任何信息吗?
答案 0 :(得分:0)
德尔塔&LT; T&GT;不适用于TimeSpans。这是一个非常有缺陷的课程,所以我写了自己的名为Patchable&lt; T&gt;。我发现的主要问题是Delta&lt; T&gt;与JSON.Net的不兼容性。它缺乏对TimeSpan的支持,这证实了我做对了。
请参阅the answer to this question(很长时间抱歉)
答案是TrySetInt32。 TrySetTimeSpan的等效方法非常有效。