Skip to content

Commit e22cecb

Browse files
committed
Merge
2 parents 51dbb28 + 213876e commit e22cecb

7 files changed

+583
-189
lines changed

Diff for: src/MongoDB.Driver/FieldValueSerializerHelper.cs

+7-13
Original file line numberDiff line numberDiff line change
@@ -141,18 +141,6 @@ public static IBsonSerializer GetSerializerForValueType(IBsonSerializer fieldSer
141141
return ConvertIfPossibleSerializer.Create(valueType, fieldType, fieldSerializer, serializerRegistry);
142142
}
143143

144-
public static IBsonSerializer GetSerializerForValueType(IBsonSerializer fieldSerializer, IBsonSerializerRegistry serializerRegistry, Type valueType, object value)
145-
{
146-
if (!valueType.GetTypeInfo().IsValueType && value == null)
147-
{
148-
return fieldSerializer;
149-
}
150-
else
151-
{
152-
return GetSerializerForValueType(fieldSerializer, serializerRegistry, valueType, allowScalarValueForArrayField: false);
153-
}
154-
}
155-
156144
// private static methods
157145
private static bool HasStringRepresentation(IBsonSerializer serializer)
158146
{
@@ -313,7 +301,7 @@ public override void Serialize(BsonSerializationContext context, BsonSerializati
313301
}
314302
}
315303

316-
internal class IEnumerableSerializer<TItem> : SerializerBase<IEnumerable<TItem>>
304+
internal class IEnumerableSerializer<TItem> : SerializerBase<IEnumerable<TItem>>, IBsonArraySerializer
317305
{
318306
private readonly IBsonSerializer<TItem> _itemSerializer;
319307

@@ -351,6 +339,12 @@ public override void Serialize(BsonSerializationContext context, BsonSerializati
351339
bsonWriter.WriteEndArray();
352340
}
353341
}
342+
343+
public bool TryGetItemSerializationInfo(out BsonSerializationInfo serializationInfo)
344+
{
345+
serializationInfo = new BsonSerializationInfo(null, _itemSerializer, typeof(TItem));
346+
return true;
347+
}
354348
}
355349

356350
internal class NullableEnumConvertingSerializer<TFrom, TTo> : SerializerBase<Nullable<TFrom>> where TFrom : struct where TTo : struct

Diff for: src/MongoDB.Driver/IAggregateFluent.cs

-1
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,6 @@ IAggregateFluent<TNewResult> Lookup<TForeignDocument, TAsElement, TAs, TNewResul
404404
IAggregateFluent<BsonDocument> SetWindowFields<TWindowFields>(
405405
AggregateExpressionDefinition<ISetWindowFieldsPartition<TResult>, TWindowFields> output);
406406

407-
//TODO If I add a parameter here, then this would be a binary breaking change
408407
/// <summary>
409408
/// Appends a $search stage to the pipeline.
410409
/// </summary>

0 commit comments

Comments
 (0)