Skip to content

Commit b68e3b0

Browse files
authored
Merge branch 'main' into fix/issue-37494-openjson-nulls
2 parents c41406c + cd95f65 commit b68e3b0

File tree

134 files changed

+4966
-2496
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+4966
-2496
lines changed

.github/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,26 @@ updates:
77
interval: "weekly"
88
labels:
99
- "area-infrastructure"
10+
ignore:
11+
# Packages managed by Maestro dependency flow (eng/Version.Details.props)
12+
- dependency-name: "Microsoft.DotNet.Arcade.Sdk"
13+
- dependency-name: "Microsoft.DotNet.Build.Tasks.Templating"
14+
- dependency-name: "Microsoft.DotNet.Helix.Sdk"
15+
- dependency-name: "Microsoft.Extensions.Caching.Memory"
16+
- dependency-name: "Microsoft.Extensions.Configuration"
17+
- dependency-name: "Microsoft.Extensions.Configuration.Abstractions"
18+
- dependency-name: "Microsoft.Extensions.Configuration.EnvironmentVariables"
19+
- dependency-name: "Microsoft.Extensions.Configuration.Json"
20+
- dependency-name: "Microsoft.Extensions.DependencyInjection"
21+
- dependency-name: "Microsoft.Extensions.DependencyModel"
22+
- dependency-name: "Microsoft.Extensions.HostFactoryResolver.Sources"
23+
- dependency-name: "Microsoft.Extensions.Logging"
24+
- dependency-name: "Microsoft.NETCore.App.Ref"
25+
- dependency-name: "Microsoft.NETCore.Platforms"
26+
- dependency-name: "System.Formats.Asn1"
27+
- dependency-name: "System.Runtime.Caching"
28+
- dependency-name: "System.Text.Encodings.Web"
29+
- dependency-name: "System.Text.Json"
1030

1131
- package-ecosystem: "github-actions"
1232
directory: "/"

eng/Version.Details.props

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,24 @@ This file should be imported by eng/Versions.props
66
<Project>
77
<PropertyGroup>
88
<!-- dotnet/dotnet dependencies -->
9-
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.26073.123</MicrosoftDotNetArcadeSdkPackageVersion>
10-
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>11.0.0-beta.26073.123</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
11-
<MicrosoftDotNetHelixSdkPackageVersion>11.0.0-beta.26073.123</MicrosoftDotNetHelixSdkPackageVersion>
12-
<MicrosoftExtensionsCachingMemoryPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsCachingMemoryPackageVersion>
13-
<MicrosoftExtensionsConfigurationPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsConfigurationPackageVersion>
14-
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
15-
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
16-
<MicrosoftExtensionsConfigurationJsonPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsConfigurationJsonPackageVersion>
17-
<MicrosoftExtensionsDependencyInjectionPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsDependencyInjectionPackageVersion>
18-
<MicrosoftExtensionsDependencyModelPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsDependencyModelPackageVersion>
19-
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
20-
<MicrosoftExtensionsLoggingPackageVersion>11.0.0-preview.1.26073.123</MicrosoftExtensionsLoggingPackageVersion>
21-
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-preview.1.26073.123</MicrosoftNETCoreAppRefPackageVersion>
22-
<MicrosoftNETCorePlatformsPackageVersion>11.0.0-preview.1.26073.123</MicrosoftNETCorePlatformsPackageVersion>
23-
<SystemFormatsAsn1PackageVersion>11.0.0-preview.1.26073.123</SystemFormatsAsn1PackageVersion>
24-
<SystemRuntimeCachingPackageVersion>11.0.0-preview.1.26073.123</SystemRuntimeCachingPackageVersion>
25-
<SystemTextEncodingsWebPackageVersion>11.0.0-preview.1.26073.123</SystemTextEncodingsWebPackageVersion>
26-
<SystemTextJsonPackageVersion>11.0.0-preview.1.26073.123</SystemTextJsonPackageVersion>
9+
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.26080.101</MicrosoftDotNetArcadeSdkPackageVersion>
10+
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>11.0.0-beta.26080.101</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
11+
<MicrosoftDotNetHelixSdkPackageVersion>11.0.0-beta.26080.101</MicrosoftDotNetHelixSdkPackageVersion>
12+
<MicrosoftExtensionsCachingMemoryPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsCachingMemoryPackageVersion>
13+
<MicrosoftExtensionsConfigurationPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsConfigurationPackageVersion>
14+
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
15+
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
16+
<MicrosoftExtensionsConfigurationJsonPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsConfigurationJsonPackageVersion>
17+
<MicrosoftExtensionsDependencyInjectionPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsDependencyInjectionPackageVersion>
18+
<MicrosoftExtensionsDependencyModelPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsDependencyModelPackageVersion>
19+
<MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsHostFactoryResolverSourcesPackageVersion>
20+
<MicrosoftExtensionsLoggingPackageVersion>11.0.0-preview.2.26080.101</MicrosoftExtensionsLoggingPackageVersion>
21+
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-preview.2.26080.101</MicrosoftNETCoreAppRefPackageVersion>
22+
<MicrosoftNETCorePlatformsPackageVersion>11.0.0-preview.2.26080.101</MicrosoftNETCorePlatformsPackageVersion>
23+
<SystemFormatsAsn1PackageVersion>11.0.0-preview.2.26080.101</SystemFormatsAsn1PackageVersion>
24+
<SystemRuntimeCachingPackageVersion>11.0.0-preview.2.26080.101</SystemRuntimeCachingPackageVersion>
25+
<SystemTextEncodingsWebPackageVersion>11.0.0-preview.2.26080.101</SystemTextEncodingsWebPackageVersion>
26+
<SystemTextJsonPackageVersion>11.0.0-preview.2.26080.101</SystemTextJsonPackageVersion>
2727
</PropertyGroup>
2828
<!--Property group for alternate package version names-->
2929
<PropertyGroup>

eng/Version.Details.xml

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,80 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Dependencies>
3-
<Source Uri="https://github.com/dotnet/dotnet" Mapping="efcore" Sha="9b1fccbc24a292cdfb153dfac7fec2744a13b62f" BarId="298788" />
3+
<Source Uri="https://github.com/dotnet/dotnet" Mapping="efcore" Sha="fd46c9c9899610c1d999268dfb0382aa229222e1" BarId="299501" />
44
<ProductDependencies>
5-
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="11.0.0-preview.1.26073.123">
5+
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="11.0.0-preview.2.26080.101">
66
<Uri>https://github.com/dotnet/dotnet</Uri>
7-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
7+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
88
</Dependency>
9-
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="11.0.0-preview.1.26073.123">
9+
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="11.0.0-preview.2.26080.101">
1010
<Uri>https://github.com/dotnet/dotnet</Uri>
11-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
11+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
1212
</Dependency>
13-
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="11.0.0-preview.1.26073.123">
13+
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="11.0.0-preview.2.26080.101">
1414
<Uri>https://github.com/dotnet/dotnet</Uri>
15-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
15+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
1616
</Dependency>
17-
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="11.0.0-preview.1.26073.123">
17+
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="11.0.0-preview.2.26080.101">
1818
<Uri>https://github.com/dotnet/dotnet</Uri>
19-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
19+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
2020
</Dependency>
21-
<Dependency Name="Microsoft.Extensions.Configuration" Version="11.0.0-preview.1.26073.123">
21+
<Dependency Name="Microsoft.Extensions.Configuration" Version="11.0.0-preview.2.26080.101">
2222
<Uri>https://github.com/dotnet/dotnet</Uri>
23-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
23+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
2424
</Dependency>
25-
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="11.0.0-preview.1.26073.123">
25+
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="11.0.0-preview.2.26080.101">
2626
<Uri>https://github.com/dotnet/dotnet</Uri>
27-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
27+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
2828
</Dependency>
29-
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="11.0.0-preview.1.26073.123">
29+
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="11.0.0-preview.2.26080.101">
3030
<Uri>https://github.com/dotnet/dotnet</Uri>
31-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
31+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
3232
</Dependency>
33-
<Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="11.0.0-preview.1.26073.123">
33+
<Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="11.0.0-preview.2.26080.101">
3434
<Uri>https://github.com/dotnet/dotnet</Uri>
35-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
35+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
3636
</Dependency>
37-
<Dependency Name="Microsoft.Extensions.Logging" Version="11.0.0-preview.1.26073.123">
37+
<Dependency Name="Microsoft.Extensions.Logging" Version="11.0.0-preview.2.26080.101">
3838
<Uri>https://github.com/dotnet/dotnet</Uri>
39-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
39+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
4040
</Dependency>
41-
<Dependency Name="Microsoft.NETCore.App.Ref" Version="11.0.0-preview.1.26073.123">
41+
<Dependency Name="Microsoft.NETCore.App.Ref" Version="11.0.0-preview.2.26080.101">
4242
<Uri>https://github.com/dotnet/dotnet</Uri>
43-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
43+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
4444
</Dependency>
45-
<Dependency Name="Microsoft.NETCore.Platforms" Version="11.0.0-preview.1.26073.123">
45+
<Dependency Name="Microsoft.NETCore.Platforms" Version="11.0.0-preview.2.26080.101">
4646
<Uri>https://github.com/dotnet/dotnet</Uri>
47-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
47+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
4848
</Dependency>
49-
<Dependency Name="System.Text.Json" Version="11.0.0-preview.1.26073.123">
49+
<Dependency Name="System.Text.Json" Version="11.0.0-preview.2.26080.101">
5050
<Uri>https://github.com/dotnet/dotnet</Uri>
51-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
51+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
5252
</Dependency>
53-
<Dependency Name="System.Text.Encodings.Web" Version="11.0.0-preview.1.26073.123">
53+
<Dependency Name="System.Text.Encodings.Web" Version="11.0.0-preview.2.26080.101">
5454
<Uri>https://github.com/dotnet/dotnet</Uri>
55-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
55+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
5656
</Dependency>
57-
<Dependency Name="System.Formats.Asn1" Version="11.0.0-preview.1.26073.123">
57+
<Dependency Name="System.Formats.Asn1" Version="11.0.0-preview.2.26080.101">
5858
<Uri>https://github.com/dotnet/dotnet</Uri>
59-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
59+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
6060
</Dependency>
61-
<Dependency Name="System.Runtime.Caching" Version="11.0.0-preview.1.26073.123">
61+
<Dependency Name="System.Runtime.Caching" Version="11.0.0-preview.2.26080.101">
6262
<Uri>https://github.com/dotnet/dotnet</Uri>
63-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
63+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
6464
</Dependency>
6565
</ProductDependencies>
6666
<ToolsetDependencies>
67-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26073.123">
67+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.26080.101">
6868
<Uri>https://github.com/dotnet/dotnet</Uri>
69-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
69+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
7070
</Dependency>
71-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="11.0.0-beta.26073.123">
71+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="11.0.0-beta.26080.101">
7272
<Uri>https://github.com/dotnet/dotnet</Uri>
73-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
73+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
7474
</Dependency>
75-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="11.0.0-beta.26073.123">
75+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="11.0.0-beta.26080.101">
7676
<Uri>https://github.com/dotnet/dotnet</Uri>
77-
<Sha>9b1fccbc24a292cdfb153dfac7fec2744a13b62f</Sha>
77+
<Sha>fd46c9c9899610c1d999268dfb0382aa229222e1</Sha>
7878
</Dependency>
7979
</ToolsetDependencies>
8080
</Dependencies>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<PropertyGroup Label="Version settings">
66
<VersionPrefix>11.0.0</VersionPrefix>
77
<PreReleaseVersionLabel>preview</PreReleaseVersionLabel>
8-
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
8+
<PreReleaseVersionIteration>2</PreReleaseVersionIteration>
99
<!-- Allowed values: '', 'prerelease', 'release'. Set to 'release' when stabilizing. -->
1010
<DotNetFinalVersionKind></DotNetFinalVersionKind>
1111

eng/common/core-templates/job/source-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
pool:
6161
${{ if eq(variables['System.TeamProject'], 'public') }}:
6262
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')]
63-
demands: ImageOverride -equals build.ubuntu.2204.amd64
63+
demands: ImageOverride -equals Azure-Linux-3-Amd64-Public
6464
${{ if eq(variables['System.TeamProject'], 'internal') }}:
6565
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')]
6666
image: Azure-Linux-3-Amd64
@@ -69,10 +69,10 @@ jobs:
6969
pool:
7070
${{ if eq(variables['System.TeamProject'], 'public') }}:
7171
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')]
72-
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
72+
demands: ImageOverride -equals Azure-Linux-3-Amd64-Public
7373
${{ if eq(variables['System.TeamProject'], 'internal') }}:
7474
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')]
75-
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64
75+
demands: ImageOverride -equals Azure-Linux-3-Amd64
7676
${{ if ne(parameters.platform.pool, '') }}:
7777
pool: ${{ parameters.platform.pool }}
7878

global.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "11.0.100-alpha.1.26064.118",
3+
"version": "11.0.100-preview.1.26078.121",
44
"allowPrerelease": true,
55
"rollForward": "latestMajor",
66
"paths": [
@@ -10,15 +10,15 @@
1010
"errorMessage": "The required .NET SDK wasn't found. Please run ./restore.sh or .\\restore.cmd to install it."
1111
},
1212
"tools": {
13-
"dotnet": "11.0.100-alpha.1.26064.118",
13+
"dotnet": "11.0.100-preview.1.26078.121",
1414
"runtimes": {
1515
"dotnet": [
1616
"$(MicrosoftNETCorePlatformsVersion)"
1717
]
1818
}
1919
},
2020
"msbuild-sdks": {
21-
"Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26073.123",
22-
"Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.26073.123"
21+
"Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26080.101",
22+
"Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.26080.101"
2323
}
2424
}

src/EFCore.Analyzers/InterpolatedStringUsageInRawQueriesCodeFixProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public override async Task RegisterCodeFixesAsync(CodeFixContext context)
4646
var foundInterpolation = false;
4747

4848
// Not all reported by analyzer cases are fixable. If there is a mix of interpolated arguments and normal ones, e.g. `FromSqlRaw($"SELECT * FROM [Users] WHERE [Id] = {id}", id)`,
49-
// then replacing `FromSqlRaw` to `FromSqlInterpolated` creates compiler error since there is no overload for this.
49+
// then replacing `FromSqlRaw` to `FromSql` creates compiler error since there is no overload for this.
5050
// We find such cases by walking through syntaxes of each argument and searching for first interpolated string. If there are arguments after it, we consider such case unfixable.
5151
foreach (var argument in invocationSyntax.ArgumentList.Arguments)
5252
{

src/EFCore.Cosmos/Query/Internal/CosmosQueryableMethodTranslatingExpressionVisitor.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1631,6 +1631,14 @@ private bool TryPushdownIntoSubquery(SelectExpression select)
16311631
string functionName,
16321632
bool ignoreOrderings = false)
16331633
{
1634+
// Cosmos set operations (Concat, Union, Intersect) can only be performed over arrays, not over root entity queries.
1635+
// Detect if either source is a root entity query and throw an appropriate error.
1636+
if (IsRootEntityQuery(source1) || IsRootEntityQuery(source2))
1637+
{
1638+
AddTranslationErrorDetails(CosmosStrings.NonCorrelatedSubqueriesNotSupported);
1639+
return null;
1640+
}
1641+
16341642
if (source1.TryConvertToArray(_typeMappingSource, out var array1, out var projection1, ignoreOrderings)
16351643
&& source2.TryConvertToArray(_typeMappingSource, out var array2, out var projection2, ignoreOrderings)
16361644
&& projection1.Type == projection2.Type)
@@ -1664,6 +1672,9 @@ private bool TryPushdownIntoSubquery(SelectExpression select)
16641672
}
16651673

16661674
return null;
1675+
1676+
static bool IsRootEntityQuery(ShapedQueryExpression source)
1677+
=> source.QueryExpression is SelectExpression { Sources: [{ WithIn: false }, ..] };
16671678
}
16681679

16691680
private SqlExpression? TranslateExpression(Expression expression)

src/EFCore.Cosmos/Query/Internal/CosmosSqlTranslatingExpressionVisitor.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1075,10 +1075,10 @@ private bool TryRewriteEntityEquality(
10751075
return false;
10761076
}
10771077

1078-
if (IsNullSqlConstantExpression(left)
1079-
|| IsNullSqlConstantExpression(right))
1078+
if (left is SqlConstantExpression { Value: null }
1079+
|| right is SqlConstantExpression { Value: null })
10801080
{
1081-
var nonNullEntityReference = (IsNullSqlConstantExpression(left) ? rightEntityReference : leftEntityReference)!;
1081+
var nonNullEntityReference = (left is SqlConstantExpression { Value: null } ? rightEntityReference : leftEntityReference)!;
10821082
var entityType1 = nonNullEntityReference.EntityType;
10831083
var primaryKeyProperties1 = entityType1.FindPrimaryKey()?.Properties;
10841084
if (primaryKeyProperties1 == null)
@@ -1194,9 +1194,6 @@ when memberInitExpression.Bindings.SingleOrDefault(mb => mb.Member.Name == prope
11941194
return baseListParameter.Select(e => e != null ? (TProperty?)getter.GetClrValue(e) : (TProperty?)(object?)null).ToList();
11951195
}
11961196

1197-
private static bool IsNullSqlConstantExpression(Expression expression)
1198-
=> expression is SqlConstantExpression { Value: null };
1199-
12001197
private static bool TryEvaluateToConstant(Expression expression, [NotNullWhen(true)] out SqlConstantExpression? sqlConstantExpression)
12011198
{
12021199
if (CanEvaluate(expression))

src/EFCore.Cosmos/Query/Internal/Expressions/SourceExpression.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ protected override Expression VisitChildren(ExpressionVisitor visitor)
105105
public virtual SourceExpression Update(Expression containerExpression)
106106
=> ReferenceEquals(containerExpression, Expression)
107107
? this
108-
: new SourceExpression(containerExpression, Alias);
108+
: new SourceExpression(containerExpression, Alias, WithIn);
109109

110110
/// <summary>
111111
/// Returns whether the given expression type can appear directly within a source expression.

0 commit comments

Comments
 (0)