Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-4754

Nested or subproperties in Update.Set don't work in V3

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Works as Designed
    • Icon: Blocker - P1 Blocker - P1
    • None
    • 2.21.0
    • None
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

    Description

      Hi,
       
      we have a regression in 
      Builders<Class1>.Update.Set(x => x.Prop1.SubProp1, "someValue");
      We get an exception (see below) in LinqProvider V3. V2 works fine.
       
      Thanks!
       
      Best Regards
      Dimitri
       
      MongoDB.Driver.Linq.ExpressionNotSupportedException: Expression not supported: ConvertChecked(Param_0.Prop1.SubProp1, String).
      at MongoDB.Driver.Linq.Linq3Implementation.Translators.ExpressionToFilterTranslators.ToFilterFieldTranslators.ExpressionToFilterFieldTranslator.Translate(TranslationContext context, Expression expression)
      at MongoDB.Driver.Linq.Linq3Implementation.LinqProviderAdapterV3.TranslateExpressionToField[TDocument,TField](Expression`1 expression, IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, Boolean allowScalarValueForArrayField)
      at MongoDB.Driver.ExpressionFieldDefinition`2.Render(IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, LinqProvider linqProvider, Boolean allowScalarValueForArrayField)
      at MongoDB.Driver.ExpressionFieldDefinition`2.Render(IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, LinqProvider linqProvider)
      at MongoDB.Driver.OperatorUpdateDefinition`2.Render(IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, LinqProvider linqProvider)
      at MongoDB.Driver.MongoCollectionImpl`1.ConvertWriteModelToWriteRequest(WriteModel`1 model, Int32 index)

      Attachments

        1. image-2023-08-31-10-22-53-005.png
          image-2023-08-31-10-22-53-005.png
          30 kB
        2. TestProject1.7z
          13.54 MB

        Activity

          People

            robert@mongodb.com Robert Stam
            dimitri.kroo@baramundi.com Dimitri Kroo
            Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: