3

我在Breeze + Knockout + WebAPI + SQL Server Compact的一个简单项目中遇到了以下问题:

当我添加一个Breeze实体(带有DateTime ko.observable)并将Manager.SaveChanges()行正确保存到 SQL Server Compact 中时,该DateTime列的格式如下:23/12/2012 19.56.33.

当我随后进行Breeze查询时,我得到了该行,但DateTime无法识别该值:

失效日期

date字段是可观察的,因此我无法调试值/格式,这是一种方法!

SaveChanges它采用这种格式之前:Sun Dec 23 21:32:05 UTC+0100 2012

SaveChanges我以这种格式在 SQL Server Compact 表中找到它之后:23/12/2012 20.32.05

也许也Breeze期望它在UTC ..?

任何帮助是极大的赞赏!

谢谢

编辑:

这是从 WebApi BreezeController 返回的 json:

[
   {
      "$id":"1",
      "$type":"MvcTask.Models.Task, MvcTask",
      "id":110,
      "text":"aaa",
      "done":false,
      "created":"2012-12-23T19.56.33.950"
   }
]
4

2 回答 2

1

早期版本的微风有这个问题,但应该在以后的版本中修复。您可以尝试当前版本 v.80.1 吗?

于 2012-12-24T00:48:10.920 回答
-1

您的问题与默认日期格式化程序有关,它没有为您提供您正在寻找的内容。看起来您正在以 UTC 格式接收数据,而您的代码并不期望这样。

看看JSON 中的 ASP.NET Web API 日期格式没有成功序列化

他们有类似的问题,但展示了如何自定义序列化程序。我过去做过这种技术,它解决了我的问题

于 2012-12-23T22:24:32.960 回答