Я сохраняю список расписаний в столбце jsonb в базе данных postgres, и у меня возникают проблемы с типом LocalDate
NodaTime.
Вот мой объект, который сериализуется (на самом деле List<Schedule>
сериализуется и сохраняется в базе данных)
public class Schedule
{
public LocalTime? Start { get; set; }
public LocalTime? End { get; set; }
}
Это то, что хранится в базе данных
[
{
"End": {
"Hour": 10,
"Minute": 0,
"Second": 0,
"TickOfDay": 360000000000,
"Millisecond": 0,
"TickOfSecond": 0,
"NanosecondOfDay": 36000000000000,
"ClockHourOfHalfDay": 10,
"NanosecondOfSecond": 0
},
"Start": {
"Hour": 8,
"Minute": 0,
"Second": 0,
"TickOfDay": 288000000000,
"Millisecond": 0,
"TickOfSecond": 0,
"NanosecondOfDay": 28800000000000,
"ClockHourOfHalfDay": 8,
"NanosecondOfSecond": 0
}
}
]
Мне это кажется вполне подходящим, но проблема в том, что когда я выбираю данные из базы данных, мои LocalDate имеют значение '00: 00: 00 '.
Сериализация / десериализация выполняется с использованием
var converter = new ValueConverter<T, string>
(
v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject<T>(v) ?? null
);