1
날짜 필드가있는 몽고 문서를 나타내는 모델이 있습니다.날짜 필드 이상한 행동
class model
{
...
[BsonElement("dateCreated")]
[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
public DateTime DateCreated { get; set; }
...
}
나는 UTC 시간에 그 몽고 값을 저장 그래서 난 자동으로 현지 시간에 그들을 대표하는 BsonDateTimeOptions
속성을 사용 알고있다.
모델의 인스 턴스를 작성하여 mongo에 저장하면 예상대로 작동합니다. 그러나 외부 소스 (클라이언트를 서비스로)에서 데이터를 받고 내 모델로 desirializing하면 로컬 시간이 저장됩니다.
컴파일러는 mongo에 삽입하기 전에 두 개의 다른 인스턴스에 대해 동일한 값을 표시하지만 db는 첫 번째를 UTC로 저장하고 두 번째는 현지 시간으로 저장합니다.
각 값의'Kind' 속성을 삽입하기 전에 살펴보십시오. –
방금 확인했습니다. 첫 번째 객체는'Kind = Unspecified'와 deserialized'Kind = Local'을가집니다. – Schaliasos
여기서 "처음"과 "비 직렬화"가 무슨 뜻인지 확실하지 않지만 문제의 근원이 될 것입니다. "지정되지 않은"버전이 실제로 의미하는 것을 해결하십시오 ... –