<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:48:47 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-4618] Cannot find documentation on differences between LINQ2 and LINQ3 providers</title>
                <link>https://jira.mongodb.org/browse/CSHARP-4618</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h4&gt;

&lt;p&gt;The latest MongoDB.Driver for C# switched the default LINQ Provider from 2 to 3 but is severely lacking in the &quot;Breaking Changes&quot; section of the release notes. We updated our project to use the latest driver, addressed the issues called out in breaking changes such as the ObjectSerializer changes.&lt;/p&gt;

&lt;p&gt;We then began seeing errors like the following: &lt;br/&gt;
&quot;ExpressionNotSupportedException: ... because negative indexes are not valid. To use the positional operator $ use FirstMatchingElement instead of an index value of -1.&quot;&lt;/p&gt;

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

&lt;p&gt;Great.. so clearly based on the error message, this is a &quot;known&quot; change but I had to do some web searching just to find &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4079&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/CSHARP-4079&lt;/a&gt; which nonchalantly says something like &quot;Oh, we&apos;re going to be replacing these 3 things with these 3 extension methods&quot; and closes the issue. That&apos;s all well and good except where is this called out in the documentation or more importantly the breaking changes section? Where is the page that documents what to look out for or change when moving from LINQ2 to LINQ3 provider? If it exists, that&apos;s great but it also needs to be more discoverable and should be listed in the breaking changes section of the 2.19.0 driver release. If it doesn&apos;t exist, please create one because I have no idea what else is going to bite me in this code base due to undocumented changes (at least undocumented from the standpoint of I couldn&apos;t find anything).&lt;/p&gt;

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

&lt;p&gt;I will try the MongoDB Analyzer now as I was not previously aware of this and it is not called out in the release notes for 2.19.x.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2316603">CSHARP-4618</key>
            <summary>Cannot find documentation on differences between LINQ2 and LINQ3 providers</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="11263" iconUrl="https://jira.mongodb.org/images/icons/statuses/generic.png" description="">Scheduled</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="ttutko@outlook.com">Thomas Tutko</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Apr 2023 17:36:08 +0000</created>
                <updated>Fri, 26 Jan 2024 04:38:44 +0000</updated>
                                            <version>2.19.1</version>
                                                    <component>LINQ3</component>
                                        <votes>4</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="5790047" author="JIRAUSER1273060" created="Thu, 19 Oct 2023 08:49:07 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=robert%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;robert@mongodb.com&quot;&gt;robert@mongodb.com&lt;/a&gt;&#160; Another thing that would greatly help is when all LINQ3-specific issues have the Jira component &quot;LINQ3&quot; in this CSHARP project.&lt;br/&gt;
Now I find issues under &quot;Builders&quot;, &quot;linq&quot;, ... (Jira supports multiple components, so you could also just add &quot;LINQ3&quot; where more appropriate)&lt;/p&gt;

&lt;p&gt;This allows all to readily track LINQ3 issues &lt;a href=&quot;https://jira.mongodb.org/issues/?jql=project%20%3D%20CSHARP%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20LINQ3%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;project = CSHARP AND resolution = Unresolved AND component = LINQ3 ORDER BY priority DESC, updated DESC&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5788642" author="JIRAUSER1273060" created="Wed, 18 Oct 2023 17:57:24 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mirek%40rynly.com&quot; class=&quot;user-hover&quot; rel=&quot;mirek@rynly.com&quot;&gt;mirek@rynly.com&lt;/a&gt; exactly! &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=robert%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;robert@mongodb.com&quot;&gt;robert@mongodb.com&lt;/a&gt; is also aware of major breaking change &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4535&quot; title=&quot;Client cannot resolve serializer anymore when using IQueryable with base type&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4535&quot;&gt;CSHARP-4535&lt;/a&gt;&#160; (others reported it, we wasted time testing and investigating why key parts of our application were broken).&lt;/p&gt;</comment>
                            <comment id="5788319" author="JIRAUSER1270250" created="Wed, 18 Oct 2023 16:24:48 +0000"  >&lt;p&gt;We would also very much like to see a comprehensive list of breaking changes. We originally discovered &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4509&quot; title=&quot;Support Convert calls to a base type in expression translators&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4509&quot;&gt;&lt;del&gt;CSHARP-4509&lt;/del&gt;&lt;/a&gt; when trying migrate to LINQ3 - thank you for the quick fix! Today we attempted to migrate again, but this time we ran into &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4079&quot; title=&quot;Implement positional update operators in LINQ3&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4079&quot;&gt;&lt;del&gt;CSHARP-4079&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;While we were fortunate enough to catch this breaking change via unit tests, we are now very worried there might be other &quot;minor differences&quot; that break our application (as &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4079&quot; title=&quot;Implement positional update operators in LINQ3&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4079&quot;&gt;&lt;del&gt;CSHARP-4079&lt;/del&gt;&lt;/a&gt; very much did).&lt;/p&gt;

&lt;p&gt;Until such time I&apos;m wary of going to production with LINQ3. Thanks in advance!&lt;/p&gt;</comment>
                            <comment id="5723479" author="JIRAUSER1273060" created="Fri, 22 Sep 2023 09:17:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=robert%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;robert@mongodb.com&quot;&gt;robert@mongodb.com&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ttutko%40outlook.com&quot; class=&quot;user-hover&quot; rel=&quot;ttutko@outlook.com&quot;&gt;ttutko@outlook.com&lt;/a&gt;&#160; Thanks for the clarifications and wholeheartedly support that a list with differences is definitely worth finding and documenting. &lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=robert%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;robert@mongodb.com&quot;&gt;robert@mongodb.com&lt;/a&gt; do I understand correctly that such a list (or release notes page update) is now actively being worked on? (Do you have any ETA per chance?)&lt;/p&gt;</comment>
                            <comment id="5713252" author="rstam" created="Mon, 18 Sep 2023 22:33:51 +0000"  >&lt;p&gt;Thanks for your comment. You are correct that I was forgetting a few minor differences. Those are definitely worth finding and documenting. But there shouldn&apos;t be very many.&lt;/p&gt;</comment>
                            <comment id="5713246" author="ttutko@outlook.com" created="Mon, 18 Sep 2023 22:31:16 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=robert%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;robert@mongodb.com&quot;&gt;robert@mongodb.com&lt;/a&gt; Thanks for the update! I appreciate that you guys do not intend to have breaking changes. However, as the original poster of this bug, the explicit error message given in the exception says otherwise in regards to the &quot;$&quot; positional operator as one example that is a breaking change that at least someone who wrote the code was aware of. It&apos;s cases like that (if any others exist) that I would like to see clearly documented and listed as a breaking change between v2 and v3. In fact your very own comment on &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4079&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/CSHARP-4079&lt;/a&gt; mentions 3 such changes (including the one I ran into). Are you saying you intend to make the old way work too? Thanks for looking into this, your efforts are appreciated.&lt;/p&gt;</comment>
                            <comment id="5713215" author="rstam" created="Mon, 18 Sep 2023 22:06:19 +0000"  >&lt;p&gt;The primary differences between LINQ2 and LINQ3 are:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;a number of bugs that exist in LINQ2 do not exist in LINQ3&lt;/li&gt;
	&lt;li&gt;LINQ3 supports more queries than LINQ2 does&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;We didn&apos;t originally plan to have any documentation for what has changed from LINQ2 to LINQ3 because the goal was that everything that works in LINQ2 would also work in LINQ3. Before we released LINQ3 (even before we made it the default) we made sure that all existing tests against LINQ2 also worked against LINQ3.&lt;/p&gt;

&lt;p&gt;That being said, since the universe of possible LINQ queries is vast, some users have found scenarios that worked in LINQ2 that didn&apos;t work in LINQ3. Our goal is to fix any such issues so that LINQ3 is a strict superset of LINQ2, and there shouldn&apos;t be any need for any documentation on the differences between LINQ2 and LINQ3 because there shouldn&apos;t be any breaking changes.&lt;/p&gt;

&lt;p&gt;One exception to the goal that everything that works in LINQ2 should also work in LINQ3 was that we originally decided to not implement client-side projections in LINQ3 based on the fact that client-side projections can hide potentially large inefficiencies becase it&apos;s not always clear how much data will be fetched from the server to be passed to the client-side projection. However, we now plan to add support for client-side projections to LINQ3 based on the number of users that report being affected by this (note that just as in LINQ2, we only plan to support client-side projections with &lt;tt&gt;Find&lt;/tt&gt;, not with &lt;tt&gt;Aggregate&lt;/tt&gt; or &lt;tt&gt;AsQueryable&lt;/tt&gt;). See &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4763&quot; title=&quot;Consider supporting client side projections with Find in LINQ3&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4763&quot;&gt;CSHARP-4763&lt;/a&gt;.&#160;&lt;/p&gt;

&lt;p&gt;If you are affected by an open issue that we have not yet fixed, you can still upgrade to the latest version of the driver and configure your settings to continue to use LINQ2, like this:&lt;/p&gt;

&lt;p&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: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;var settings = MongoClientSettings.FromConnectionString(&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;mongodb://localhost&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;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;settings.LinqProvider = LinqProvider.V2;&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;var client = &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;new&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; MongoClient(settings); &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;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5710590" author="JIRAUSER1273060" created="Mon, 18 Sep 2023 10:23:36 +0000"  >&lt;p&gt;A list of breaking changes and known (LINQ3) issues and migration steps would be highly appreciated also by my team. If a comprehensive list is not feasible, than a live document with FAQ, pitfalls would be better than nothing.&lt;/p&gt;

&lt;p&gt;At the moment all that I found was this line &quot;The default &lt;tt&gt;LinqProvider&lt;/tt&gt; has been changed to LINQ3.&quot; here &lt;a href=&quot;https://www.mongodb.com/docs/drivers/csharp/current/upgrade/#version-2.19.0-breaking-changes&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.mongodb.com/docs/drivers/csharp/current/upgrade/#version-2.19.0-breaking-changes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5441599" author="lukas.vosyka@pentlandfirth.com" created="Mon, 22 May 2023 12:21:54 +0000"  >&lt;p&gt;I&apos;d also love to see more documentation on what exactly has changed between those 2 providers (I guess there is a lot that changed) as well as more detailed examples and how-tos on the official documentation (e.g. I am missing instructions on how to update array ellements within documents see &lt;a href=&quot;https://www.mongodb.com/docs/drivers/csharp/current/usage-examples/updateOne/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.mongodb.com/docs/drivers/csharp/current/usage-examples/updateOne/&lt;/a&gt; )&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5418089" author="james.kovacs" created="Thu, 11 May 2023 15:32:49 +0000"  >&lt;p&gt;Thank you very much, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=suikevil&quot; class=&quot;user-hover&quot; rel=&quot;suikevil&quot;&gt;suikevil&lt;/a&gt;. We appreciate the effort to file those tickets with repros. We will investigate and get back to you with our findings in those tickets.&lt;/p&gt;</comment>
                            <comment id="5418065" author="suikevil" created="Thu, 11 May 2023 15:26:03 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=james.kovacs%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;james.kovacs@mongodb.com&quot;&gt;james.kovacs@mongodb.com&lt;/a&gt;,&lt;/p&gt;

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

&lt;p&gt;I have submitted two Jira tickets with example codes and output:&lt;/p&gt;
&lt;h1&gt;&lt;a name=&quot;LINQ3provider%3AValueType%27X%27ofparameterSerializerdoesnotmatchparametertype%27Y%27%28whereXisasubclassofY%29&quot;&gt;&lt;/a&gt;LINQ3 provider: ValueType &apos;X&apos; of parameterSerializer does not match parameter type &apos;Y&apos; (where X is a subclass of Y)&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4650&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/CSHARP-4650&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;h1&gt;&lt;a name=&quot;LINQ3provider%3AMongoDB.Driver.Linq.ExpressionNotSupportedException%3AExpressionnotsupported%3A1in%281%3D%3D1%29&quot;&gt;&lt;/a&gt;LINQ3 provider: MongoDB.Driver.Linq.ExpressionNotSupportedException: Expression not supported: 1 in (1 == 1)&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4651&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/CSHARP-4651&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Regards,&lt;/p&gt;

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

&lt;p&gt;R.&lt;/p&gt;</comment>
                            <comment id="5414874" author="james.kovacs" created="Wed, 10 May 2023 15:42:16 +0000"  >&lt;p&gt;Hi, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=suikevil&quot; class=&quot;user-hover&quot; rel=&quot;suikevil&quot;&gt;suikevil&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;I&apos;m sorry to hear that you&apos;ve encountered so many issues in upgrading to 2.19.1 and LINQ3. LINQ3 is a more full-featured LINQ provider also fixing many longstanding bugs in LINQ2 but the transition hasn&apos;t been as seamless as desired. LINQ2 will continue to be supported until the 3.X driver series, which is still a ways away. We will also continue to aggressively investigate and fix any reported LINQ3 issues such as the ones that you encountered.&lt;/p&gt;

&lt;p&gt;Of the three issues, the third was an intentional change (&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4079&quot; title=&quot;Implement positional update operators in LINQ3&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4079&quot;&gt;&lt;del&gt;CSHARP-4079&lt;/del&gt;&lt;/a&gt;) to replace a magic number (-1) with a fluent method (&lt;tt&gt;FirstMatchingElement&lt;/tt&gt;). This also allowed us to support &lt;tt&gt;AllElements&lt;/tt&gt; and &lt;tt&gt;AllMatchingElements&lt;/tt&gt;. Admittedly we could have documented this better and this ticket (&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4618&quot; title=&quot;Cannot find documentation on differences between LINQ2 and LINQ3 providers&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4618&quot;&gt;CSHARP-4618&lt;/a&gt;) intends to do just that.&lt;/p&gt;

&lt;p&gt;The other two issues that you mention are not known issues. We would greatly appreciate if you could file CSHARP tickets with small self-contained repros so that we can investigate further. Thank you in advance.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;br/&gt;
James&lt;/p&gt;</comment>
                            <comment id="5413825" author="suikevil" created="Wed, 10 May 2023 10:17:33 +0000"  >&lt;p&gt;My lifeserver: &lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/releases/tag/v2.19.0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/releases/tag/v2.19.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;br/&gt;
&lt;tt&gt;var connectionString = &quot;mongodb://localhost&quot;;&lt;/tt&gt;&lt;br/&gt;
&lt;tt&gt;var clientSettings = MongoClientSettings.FromConnectionString(connectionString);&lt;/tt&gt;&lt;br/&gt;
&lt;ins&gt;&lt;b&gt;&lt;tt&gt;clientSettings.LinqProvider = LinqProvider.V2;&lt;/tt&gt;&lt;/b&gt;&lt;/ins&gt;&lt;br/&gt;
&lt;tt&gt;var client = new MongoClient(clientSettings);&lt;/tt&gt;&lt;br/&gt;
&#160;&lt;br/&gt;
&#160;&lt;/p&gt;</comment>
                            <comment id="5413602" author="suikevil" created="Wed, 10 May 2023 07:30:10 +0000"  >&lt;p&gt;Yesterday, I tried to migrate from 2.18 (a vulnerability in one of the packages was detected) to 2.19.1 and now our solution explodes in many points that used to worked perfectly.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;MongoDB.Driver.Linq.ExpressionNotSupportedException: Expression not supported: 2 in (2 == 3) because it was not possible to determine how to serialize the constant.&lt;/li&gt;
	&lt;li&gt;ValueType &apos;X&apos; of parameterSerializer does not match parameter type &apos;Y&apos; (where X is a subclass of Y)&lt;/li&gt;
	&lt;li&gt;Expression not supported: d.xx.get_Item(-1) because negative indexes are not valid. To use the positional operator $ use FirstMatchingElement instead of an index value of -1.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;I am still looking for samples to address these breaking changes and but I couldn&apos;t find any. We uses lambdas for everything and I am afraid that these changes break them &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/sad.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;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1989734">CSHARP-4079</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1x3es:</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>