public void ReadAndWriteUnknownPropertyTypeEntity()
        {
            var connection = TestConfiguration.GetConnection();
            var dbSet      = new MongoDbSet <UnknownPropertyTypeModel>();

            dbSet.SetConnection(connection);

            var entities = new[]
            {
                new UnknownPropertyTypeModel(),
                new UnknownPropertyTypeModel
                {
                    UnknownItem = new UnknownPropertyTypeChildModel
                    {
                        Description = "UnknownPropertyTypeChildModel"
                    }
                },
                new UnknownPropertyTypeModel
                {
                    UnknownItem = new Dictionary <string, int>
                    {
                        { "Age", 1 }
                    }
                }
            };

            dbSet.AddRange(entities);
            dbSet.SaveChanges();

            ResetMongoDb();
            dbSet = new MongoDbSet <UnknownPropertyTypeModel>();
            dbSet.SetConnection(connection);

            var dbEntities = dbSet.ToArray();

            Assert.IsNull(dbEntities[0].UnknownItem);
            Assert.IsInstanceOfType(dbEntities[1].UnknownItem, typeof(UnknownPropertyTypeChildModel));
            Assert.IsInstanceOfType(dbEntities[2].UnknownItem, typeof(Dictionary <string, object>));
        }