2017-11-21 6 views
2

storeDateTimeAsTicks는 최근 SQLite Net 구현의 기본 동작이며 문자열로 저장하는 것보다 성능면에서 이점이 있습니다.데이터베이스에서 날짜를 읽을 때 SQLite Net DateTimeKind가 지정되지 않음

불행히도 데이터베이스에 DateTime 틱을 저장하면 시간대가 무시되고 데이터베이스에서 DateTime을 다시 읽으면 개체의 DateTimeKind를 지정하지 않은 틱으로 DateTime 개체가 초기화됩니다.

DateTime 작동 방식을 감안할 때 DateTimeKind.Local이 포함 된 DateTime을 데이터베이스에서 다시 가져 오려면 데이터베이스에 저장하기 전에 UTC로 변환하고 데이터베이스에서 읽은 후 현지 시간으로 변환해야 함을 의미합니다.

SQLite Net에서 자체적으로 왕복을 처리 할 수있는 방법이 있습니까? serialization 및 deserialisation 중에 객체의 사전 처리 및 사후 처리를 피하고 싶습니다.

답변

0

해결 방법은 DateTime 대신 DateTimeOffset을 사용하는 것입니다. DateTimeOffset을 사용하면 시간과 표준 시간대가 저장되므로 필요에 따라 LocalDateTime 및 UtcDateTime 속성을 사용할 수 있습니다.