以下代码段似乎正确序列化了记录,但反序列化将字段设置为其默认值.
open MongoDB.Bson
open MongoDB.Bson.Serialization
open System
module BsonIssue =
type MyData =
{
Id : ObjectId
Time : DateTime
}
let serialize(data : MyData) =
let doc = BsonDocument()
BsonSerializer.Serialize<MyData>(new IO.BsonDocumentWriter(doc), data)
doc
let deserialize(doc : BsonDocument) =
printfn "Attempting to deserialize %A" doc
BsonSerializer.Deserialize<MyData>(doc)
let data = { Id = ObjectId.GenerateNewId(); Time = DateTime.Now }
printfn "The data: %A" data
let serialized = serialize data
printfn "After serialization: %A" serialized
let deserialized = deserialize serialized
printfn "After deserialization: …Run Code Online (Sandbox Code Playgroud)