<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:49:16 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CSHARP-4754] Nested or subproperties in Update.Set don&apos;t work in V3</title>
                <link>https://jira.mongodb.org/browse/CSHARP-4754</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;Hi,&lt;br/&gt;
&#160;&lt;br/&gt;
we have a regression in&#160;&lt;br/&gt;
Builders&amp;lt;Class1&amp;gt;.Update.Set(x =&amp;gt; x.Prop1.SubProp1, &quot;someValue&quot;);&lt;br/&gt;
We get an exception (see below) in LinqProvider V3. V2 works fine.&lt;br/&gt;
&#160;&lt;br/&gt;
Thanks!&lt;br/&gt;
&#160;&lt;br/&gt;
Best Regards&lt;br/&gt;
Dimitri&lt;br/&gt;
&#160;&lt;br/&gt;
MongoDB.Driver.Linq.ExpressionNotSupportedException: Expression not supported: ConvertChecked(Param_0.Prop1.SubProp1, String).&lt;br/&gt;
at MongoDB.Driver.Linq.Linq3Implementation.Translators.ExpressionToFilterTranslators.ToFilterFieldTranslators.ExpressionToFilterFieldTranslator.Translate(TranslationContext context, Expression expression)&lt;br/&gt;
at MongoDB.Driver.Linq.Linq3Implementation.LinqProviderAdapterV3.TranslateExpressionToField&lt;span class=&quot;error&quot;&gt;&amp;#91;TDocument,TField&amp;#93;&lt;/span&gt;(Expression`1 expression, IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, Boolean allowScalarValueForArrayField)&lt;br/&gt;
at MongoDB.Driver.ExpressionFieldDefinition`2.Render(IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, LinqProvider linqProvider, Boolean allowScalarValueForArrayField)&lt;br/&gt;
at MongoDB.Driver.ExpressionFieldDefinition`2.Render(IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, LinqProvider linqProvider)&lt;br/&gt;
at MongoDB.Driver.OperatorUpdateDefinition`2.Render(IBsonSerializer`1 documentSerializer, IBsonSerializerRegistry serializerRegistry, LinqProvider linqProvider)&lt;br/&gt;
at MongoDB.Driver.MongoCollectionImpl`1.ConvertWriteModelToWriteRequest(WriteModel`1 model, Int32 index)&lt;/p&gt;</description>
                <environment></environment>
        <key id="2419009">CSHARP-4754</key>
            <summary>Nested or subproperties in Update.Set don&apos;t work in V3</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.mongodb.org/images/icons/priorities/blocker.svg">Blocker - P1</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13202">Works as Designed</resolution>
                                        <assignee username="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="dimitri.kroo@baramundi.com">Dimitri Kroo</reporter>
                        <labels>
                            <label>LINQ3</label>
                    </labels>
                <created>Wed, 16 Aug 2023 15:16:10 +0000</created>
                <updated>Fri, 27 Oct 2023 13:24:36 +0000</updated>
                            <resolved>Tue, 10 Oct 2023 16:27:09 +0000</resolved>
                                    <version>2.21.0</version>
                                                                        <votes>3</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="5768183" author="rstam" created="Tue, 10 Oct 2023 16:27:09 +0000"  >&lt;p&gt;Thanks for confirming that using Convert works for you.&lt;/p&gt;</comment>
                            <comment id="5754660" author="JIRAUSER1257713" created="Thu, 5 Oct 2023 08:10:19 +0000"  >&lt;p&gt;Hi Robert.&lt;/p&gt;

&lt;p&gt;thank you. You are right, I haven&apos;t found any reason to use ConvertChecked.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Best regards&lt;/p&gt;

&lt;p&gt;Dimitri&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5753390" author="rstam" created="Wed, 4 Oct 2023 19:58:30 +0000"  >&lt;p&gt;I wrote a small test for this specifically:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;Builders&amp;lt;Class1&amp;gt;.Update.Set(x =&amp;gt; x.Prop1.SubProp1, &lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;someValue&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;); &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;and it works fine.&lt;/p&gt;

&lt;p&gt;It seems like your best course of action is to double check the code where you generate `Expression`s and make sure you generate the same `Expressions` that the compiler generates.&lt;/p&gt;</comment>
                            <comment id="5753367" author="rstam" created="Wed, 4 Oct 2023 19:49:26 +0000"  >&lt;p&gt;I started to look into reproducing this but I find your attached TestProject1 rather complex to work with.&lt;/p&gt;

&lt;p&gt;Any chance you could simplify the reproduction to a single file that is short as possible?&lt;/p&gt;

&lt;p&gt;Since you are generating the `Expression`s yourself as a work around have you tried using `Convert` instead of `ConvertChecked`?&lt;/p&gt;

&lt;p&gt;Our tests are focused on supporting actual `Expression`s generated by the compiler itself. Once you start generating your own `Expression`s you risk creating expressions that the compiler might never generate, and which we might not know what to do with.&lt;/p&gt;</comment>
                            <comment id="5671194" author="JIRAUSER1257713" created="Thu, 31 Aug 2023 08:29:17 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;sorry for late reponse... was on vacation &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;Thank you both for workarounds!&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/star_yellow.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &#160;&lt;/p&gt;

&lt;p&gt;Do you plan to support &quot;ConvertChecked&quot; in next minor version?&lt;/p&gt;

&lt;p&gt;P.S.&lt;/p&gt;

&lt;p&gt;I have second Bug in V3: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4762&quot; title=&quot;Select with lambda parameter that is a base type of collection document type throws&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4762&quot;&gt;CSHARP-4762&lt;/a&gt; Expression as variable in .Select() doesn&apos;t work with Linq V3 - MongoDB Jira&lt;/p&gt;

&lt;p&gt;So I would test both with fixes/workarounds to be able to switch to V3 completely.&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5657781" author="JIRAUSER1274449" created="Thu, 24 Aug 2023 20:53:21 +0000"  >&lt;p&gt;Thanks for the quick response &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=boris.dogadov%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;boris.dogadov@mongodb.com&quot;&gt;boris.dogadov@mongodb.com&lt;/a&gt;&#160;&lt;/p&gt;

&lt;p&gt;I&apos;m not suggesting paths don&apos;t get translated at all, I&apos;m suggesting that expressions that are explicitly used with the intention is only to get the name of a path for a simple update should have a bit more liberty on what they can contain.&lt;/p&gt;</comment>
                            <comment id="5657773" author="JIRAUSER1257742" created="Thu, 24 Aug 2023 20:50:51 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=skohn%40goflow.com&quot; class=&quot;user-hover&quot; rel=&quot;skohn@goflow.com&quot;&gt;skohn@goflow.com&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Paths are translated as they are part of MQL.&lt;br/&gt;
There are multiple problems with omitting the expression parts that can not be translated to MQL, but maybe Convert is a special case.&lt;br/&gt;
Thank you for providing the use case.&lt;/p&gt;</comment>
                            <comment id="5657662" author="JIRAUSER1274449" created="Thu, 24 Aug 2023 20:12:30 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=boris.dogadov%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;boris.dogadov@mongodb.com&quot;&gt;boris.dogadov@mongodb.com&lt;/a&gt; why does V3 attempt to translate path-only expressions. I understand that in V3 more query-related expressions are optimized to be server-side aggregations, but in terms of getting the path for an update definition only, why should it be restricted to the subset of expression available on the aggregation end? What if we have a need to update a field with a different type, why should casting not just be ignored in update definitions?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;As far as a valid need for this, we have code paths where we need to update nested child properties on a property that is typed as the base.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Example&lt;br/&gt;
&#160;&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; Member&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&#160; &#160; &lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; string Name { get; set; }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&#160; &#160; &lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; Enrollment&#160;Enrollment { get; set; }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&#160;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; Monthly :&#160;Enrollment&#160;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&#160; &#160; &lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; DateTime StartDate { get; set; }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&#160;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;Builders&amp;lt;Member&amp;gt;.Update.CurrentDate(x =&amp;gt; ((Monthly)x.Enrollment).StartDate)   &lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5657581" author="JIRAUSER1274449" created="Thu, 24 Aug 2023 19:47:27 +0000"  >&lt;p&gt;It works if you replace `ConvertChecked` with `Convert`.&lt;/p&gt;</comment>
                            <comment id="5657556" author="JIRAUSER1257742" created="Thu, 24 Aug 2023 19:38:58 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dimitri.kroo%40baramundi.com&quot; class=&quot;user-hover&quot; rel=&quot;dimitri.kroo@baramundi.com&quot;&gt;dimitri.kroo@baramundi.com&lt;/a&gt;&#160;&lt;/p&gt;

&lt;p&gt;Could you please elaborate on need for changing the type of the property in BuildPropAccessor?&lt;br/&gt;
ConvertChecked was ignored by LINQ2. In LINQ3 the all queries are executed on server side, so there is not real translation for changing the types.&lt;/p&gt;

&lt;p&gt;Wondering whether the following approach would address your use case:&lt;/p&gt;


&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;private&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; Expression&amp;lt;Func&amp;lt;PlaceHeader, T&amp;gt;&amp;gt; BuildPropAccessor&amp;lt;T&amp;gt;(string propName)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&#160; &#160;var parameter = Expression.Parameter(typeof(PlaceHeader));&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  &#160;var memberExpression = Expression.Property(parameter, propName);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&#160; &#160;&lt;/span&gt;&lt;span style=&quot;color: #006699; font-weight: bold; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; Expression.Lambda&amp;lt;Func&amp;lt;PlaceHeader, T&amp;gt;&amp;gt;(memberExpression, parameter);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="5643761" author="JIRAUSER1257742" created="Fri, 18 Aug 2023 17:32:34 +0000"  >&lt;p&gt;Thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dimitri.kroo%40baramundi.com&quot; class=&quot;user-hover&quot; rel=&quot;dimitri.kroo@baramundi.com&quot;&gt;dimitri.kroo@baramundi.com&lt;/a&gt;&#160;&lt;/p&gt;

&lt;p&gt;We have reproduced this behavior, and will post further updates in this ticket.&lt;/p&gt;</comment>
                            <comment id="5642435" author="JIRAUSER1257713" created="Fri, 18 Aug 2023 09:30:45 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;thanks for checking!&lt;/p&gt;

&lt;p&gt;yeah, it is complicated in this case. I have attached a TestProject.&lt;/p&gt;

&lt;p&gt;private static readonly LinqProvider _linqProvider = LinqProvider.V3; =&amp;gt; if you change it to V2 test will pass.&lt;/p&gt;

&lt;p&gt;The problem is that we use dynamic prop creation with this function:&lt;/p&gt;

&lt;p&gt;&#160; &#160; &#160; &#160; protected Expression&amp;lt;Func&amp;lt;ParentClass, TPROP&amp;gt;&amp;gt; BuildPropAccessor&amp;lt;TPROP&amp;gt;(string propName)&lt;br/&gt;
&#160; &#160; &#160; &#160; &lt;/p&gt;
{
&#160; &#160; &#160; &#160; &#160; &#160; var param = Expression.Parameter(typeof(ParentClass));
&#160; &#160; &#160; &#160; &#160; &#160; var body = Expression.ConvertChecked(Expression.Property(Expression.Property(param, nameof(ParentClass.Child)), propName), typeof(TPROP));
&#160; &#160; &#160; &#160; &#160; &#160; var prop = Expression.Lambda&amp;lt;Func&amp;lt;ParentClass, TPROP&amp;gt;&amp;gt;(body, param);
&#160; &#160; &#160; &#160; &#160; &#160; return prop;
&#160; &#160; &#160; &#160; }</comment>
                            <comment id="5638272" author="JIRAUSER1257742" created="Wed, 16 Aug 2023 16:53:30 +0000"  >&lt;p&gt;Thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dimitri.kroo%40baramundi.com&quot; class=&quot;user-hover&quot; rel=&quot;dimitri.kroo@baramundi.com&quot;&gt;dimitri.kroo@baramundi.com&lt;/a&gt; for your question.&lt;/p&gt;

&lt;p&gt;We have failed to reproduce this behaviour.&lt;br/&gt;
Could you please share a simple repro demonstrating this failure?&lt;br/&gt;
We would also need the types for Class1 and its nested types.&lt;/p&gt;</comment>
                            <comment id="5637953" author="dbeng-pm-bot" created="Wed, 16 Aug 2023 15:16:14 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dimitri.kroo%40baramundi.com&quot; class=&quot;user-hover&quot; rel=&quot;dimitri.kroo@baramundi.com&quot;&gt;dimitri.kroo@baramundi.com&lt;/a&gt;, thank you for reporting this issue! The team will look into it and get back to you soon. &lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="469915" name="TestProject1.7z" size="14197815" author="dimitri.kroo@baramundi.com" created="Fri, 18 Aug 2023 09:28:17 +0000"/>
                            <attachment id="472649" name="image-2023-08-31-10-22-53-005.png" size="30307" author="dimitri.kroo@baramundi.com" created="Thu, 31 Aug 2023 08:22:54 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14266" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Documentation Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;1. What would you like to communicate to the user about this feature?&lt;br/&gt;
2. Would you like the user to see examples of the syntax and/or executable code and its output?&lt;br/&gt;
3. Which versions of the driver/connector does this apply to?&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i24mc8:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>