-
Type:
Bug
-
Resolution: Cannot Reproduce
-
Priority:
Major - P3
-
None
-
Affects Version/s: 2.2.4
-
Component/s: LINQ
-
None
-
Environment:Windows 10
-
None
-
None
-
None
-
None
-
None
-
None
-
None
I have a object to be serialized, in the CLR class, I defined the member as type like PropertyContainer, then for the instacen, its value is set to type like NamedProperty which is subclass of propertyContainer, and when I called queryable toArray method, driver failed to serialize the content as it find the two type are mismatched,
• message: "Value type of serializer is System.Web.OData.Query.Expressions.PropertyContainer+NamedProperty`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] and does not match member type System.Web.OData.Query.Expressions.PropertyContainer. Parameter name: serializer",
• type: "System.ArgumentException",
• stacktrace: "
at MongoDB.Bson.Serialization.BsonMemberMap.SetSerializer(IBsonSerializer serializer) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Bson\Serialization\BsonMemberMap.cs:line 477
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildClassMap(Type type, ProjectionMapping mapping) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 167
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildProjectedSerializer(ProjectionMapping mapping) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 123
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildMemberInit(MemberInitExpression node) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 106
at MongoDB.Driver.Linq.Processors.SerializerBuilder.Build(Expression node) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 52
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildClassMap(Type type, ProjectionMapping mapping) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 160
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildClassMap(Type type, ProjectionMapping mapping) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 148
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildClassMap(Type type, ProjectionMapping mapping) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 148
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildProjectedSerializer(ProjectionMapping mapping) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 123
at MongoDB.Driver.Linq.Processors.SerializerBuilder.BuildMemberInit(MemberInitExpression node) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 106
at MongoDB.Driver.Linq.Processors.SerializerBuilder.Build(Expression node) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 52
at MongoDB.Driver.Linq.Processors.SerializerBuilder.Build(Expression node, IBsonSerializerRegistry serializerRegistry) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\SerializerBuilder.cs:line 31
at MongoDB.Driver.Linq.Processors.PipelineBindingContext.GetSerializer(Type type, Expression node) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\Pipeline\PipelineBindingContext.cs:line 90
at MongoDB.Driver.Linq.Processors.PipelineBindingContext.BindProjector(Expression& selector) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\Pipeline\PipelineBindingContext.cs:line 98
at MongoDB.Driver.Linq.Processors.Pipeline.MethodCallBinders.SelectBinder.Bind(PipelineExpression pipeline, PipelineBindingContext bindingContext, MethodCallExpression node, IEnumerable`1 arguments) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\Pipeline\MethodCallBinders\SelectBinder.cs:line 45
at MongoDB.Driver.Linq.Processors.MethodInfoMethodCallBinder`1.Bind(PipelineExpression pipeline, TBindingContext bindingContext, MethodCallExpression node, IEnumerable`1 arguments) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\MethodInfoMethodCallBinder.cs:line 41
at MongoDB.Driver.Linq.Processors.PipelineBinderBase`1.BindMethodCall(MethodCallExpression node) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\PipelineBinderBase.cs:line 97
at MongoDB.Driver.Linq.Processors.PipelineBinderBase`1.Bind(Expression node) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\PipelineBinderBase.cs:line 58
at MongoDB.Driver.Linq.Processors.Pipeline.PipelineBinder.Bind(Expression node, IBsonSerializerRegistry serializerRegistry) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\Processors\Pipeline\PipelineBinder.cs:line 62
at MongoDB.Driver.Linq.MongoQueryProviderImpl`1.Prepare(Expression expression) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\MongoQueryProviderImpl.cs:line 122
at MongoDB.Driver.Linq.MongoQueryProviderImpl`1.Translate(Expression expression) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\MongoQueryProviderImpl.cs:line 129
at MongoDB.Driver.Linq.MongoQueryProviderImpl`1.Execute(Expression expression) in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\MongoQueryProviderImpl.cs:line 77
at MongoDB.Driver.Linq.MongoQueryableImpl`2.GetEnumerator() in D:\dev\githome\external\mongo-csharp-driver\src\MongoDB.Driver\Linq\MongoQueryableImpl.cs:line 60 at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)