У меня есть POCO:
public class BlogEntry
{
public string Title { get; set; }
public DateTime Date { get; set; }
}
Большую часть времени он увлажняется из Entity Framework, но он может и будет использоваться вне Entity Framework.
DateTimeKind для даты из EF не указан, что из того, что я читаю, является нормальным.
Когда я кечу этого POCO в Redis (с помощью клиента ServiceStack Redis), он возвращается с DateTimeKind of Local.
Итак, есть дрожание с возвращенными объектами. Первый проход (без кэша) имеет ISO-8061 без смещения (DateTimeKind.Unspecified). Второй проход (кэшированный) - ISO-8061 со смещением (от Redis с DateTimeKind.Local).
Как заставить Serializer ServiceStack JSON всегда интерпретировать даты как заданный DateTimeKind? (Я знаю, что есть свойство "JsConfig.AppendUtcOffset", но верно ли это или false, значения меня не меняются?)
Или где-нибудь в процессе десериализации из моего типизированного RedisClient, чтобы сделать DateTimeKind локальным?
Я могу вручную изменить свой POCO для принудительного использования DateTimeKind - и это работает - но я надеялся на что-то менее подверженное ошибкам.