…lete tutorial documents to Obsolete folder (new tutorial is online).
…tances of Animal subclasses when attributes are used to set the root class and known types.
…otClass and HasRootClass to BsonClassMap and added RootClass to BsonDiscriminatorAttribute. Changed DeserializeDocument in ObjectSerializer to look at the discriminator and delegate the deserialization to the serializer for the actual type. Changed the BsonKnownTypeAttribute to plural to allow specifying multiple known types in one attribute.
…ctor in order to be deserialized (now a default constructor, public or private, will be used if it exists, otherwise FormatterServices.GetUninitializedObject will be used to create a zero filled instance).
…iminators are used. Includes partial support for hierarchical discriminators (but a little more work is required to know when hierarchical discriminators should be used and where the hierarchy should be rooted).
…ts to be as similar as possible. Added unit tests for serializing HashSet<T>.
…ollectionSerializersGeneric.cs (and similarly for the unit tests). Added unit tests for more generic collection types.
…Added unit tests for EnumerableSerializer<T>.
…o BsonSerializer. It's a general enough mechanism that any serialization provider could choose to use it.
… change in design, just using a shorter name based on what it is rather than what interface it implements).
…nd QueueSerializerRegistration and modified BsonDefaultSerializationProvider to find registration methods for generic serializer definitions.
…d EnumerableSerializerTests to test properties of type ArrayList, ICollection and IEnumerable as well as IList.
…alizer definition. Created a way to register and lookup generic serializer definitions and to instantiate closed generic serializers at runtime.
…ICollection and IList). Factored out GetActualDocumentType and GetActualElementType as static methods that can be called as needed from anywhere. Use BsonType as implied discriminator for primitive types. Fixed references to deprecated BsonConstants.
…ollection names (not full collection names prefixed with the database name). Moved RenameCollection method from MongoServer to MongoDatabase.
…llow pattern set by DBNull.Value in .NET). Throw ArgumentNullException if Value of BsonElement is set to null. Added AsNullableBoolean, AsNullableDateTime, AsNullableDouble, AsNullableGuid, AsNullableInt32, AsNullableInt64 and AsNullableObjectId to BsonValue. Added implicit conversions from and explicit conversions to bool?, DateTime?, double?, Guid?, int?, long? and ObjectId?.
… SerializePolymorphicClassTests to test [BsonDiscriminatorOptions(Required = true)].
…erformance folder and Class1.cs file.
…class for the existing BsonRepresentationAttribute and the new BsonDateTimeOptionsAttribute. Added DateTimeSerializationOptions to allow control over how DateTime values are serialized (representation, local/utc, dateOnly). Refactored AutoMapMember to process attributes in a loop. WriteDateTime in BsonWriter now checks that the value is in UTC (it is the job of the serializer to perform any needed conversions).