public override T Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args) { if (context.Reader.CurrentBsonType == BsonType.Null) { context.Reader.ReadNull(); return(default(T)); } var id = context.Reader.ReadString(); return(MongoFlatIdSerializerHelper.ToIdentity <T>(id)); }
public override T[] Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args) { if (context.Reader.CurrentBsonType == BsonType.Null) { context.Reader.ReadNull(); return(null); } List <T> retValue = new List <T>(); context.Reader.ReadStartArray(); while (context.Reader.ReadBsonType() == BsonType.String) { var id = context.Reader.ReadString(); retValue.Add(MongoFlatIdSerializerHelper.ToIdentity <T>(id)); } context.Reader.ReadEndArray(); return(retValue.ToArray()); }