Ошибка "Неверная дата" при получении значения DateTime из SQL Server Compact

Я столкнулся со следующей проблемой в простом проекте с Breeze + Knockout + WebAPI + SQL Server Compact:

когда я добавлю Breeze сущность (с DateTimeko.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..?

Любая помощь очень ценится!

Спасибо

РЕДАКТИРОВАТЬ:

вот json, возвращенный из WebApi BreezeController:

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

2 ответа

С более ранними версиями breeze возникла проблема, но это следует исправить в более поздних версиях. Можете ли вы попробовать текущую версию v.80.1?

Ваша проблема связана с тем, что форматер даты по умолчанию не дает вам именно то, что вы ищете. Похоже, вы получаете данные в формате UTC, а ваш код этого не ожидает.

Посмотрите на ASP.NET Web API Формат даты в JSON не сериализуется успешно.

У них похожая проблема, но показано, как настроить сериализатор. Я сделал эту технику в прошлом, и это решило мои проблемы

Другие вопросы по тегам