From 9c782f3d9df0dec17f6fdc9ede51373920e0d224 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Wed, 18 Mar 2026 11:41:24 +0000
Subject: [PATCH 01/10] [release/10.0] Source code updates from dotnet/dotnet
(#37948)
[release/10.0] Source code updates from dotnet/dotnet
---
NuGet.config | 2 +-
eng/Version.Details.props | 10 ++++----
eng/Version.Details.xml | 48 +++++++++++++++++++--------------------
global.json | 4 ++--
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index e7fc6b10f9c..c86a16294cf 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,7 +4,7 @@
-
+
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 6c961c68d4f..43225f85fea 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -6,9 +6,9 @@ This file should be imported by eng/Versions.props
- 10.0.0-beta.26166.108
- 10.0.0-beta.26166.108
- 10.0.0-beta.26166.108
+ 10.0.0-beta.26167.113
+ 10.0.0-beta.26167.113
+ 10.0.0-beta.26167.113
10.0.6
10.0.6
10.0.6
@@ -16,10 +16,10 @@ This file should be imported by eng/Versions.props
10.0.6
10.0.6
10.0.6
- 10.0.6-servicing.26166.108
+ 10.0.6-servicing.26167.113
10.0.6
10.0.6
- 10.0.6-servicing.26166.108
+ 10.0.6-servicing.26167.113
10.0.6
10.0.6
10.0.6
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 00ef75d1844..7e823f2a948 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,80 +1,80 @@
-
+
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
-
+
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
-
+
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
-
+
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
-
+
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
-
+
https://github.com/dotnet/dotnet
- 56c75bd557163abff0bff3c8f6de6ec97a73fe2f
+ 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
diff --git a/global.json b/global.json
index 92bfafb8618..b6379446b22 100644
--- a/global.json
+++ b/global.json
@@ -18,7 +18,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26166.108",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26166.108"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26167.113",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26167.113"
}
}
From f111bb8ffe0fac4b1b7096b67fea41672f548c53 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Wed, 18 Mar 2026 22:31:43 +0000
Subject: [PATCH 02/10] Update dependencies from build 306785 (#37951)
[release/10.0] Source code updates from dotnet/dotnet
---
NuGet.config | 2 +-
eng/Version.Details.props | 10 ++++----
eng/Version.Details.xml | 48 +++++++++++++++++++--------------------
global.json | 4 ++--
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index c86a16294cf..da69c3b0712 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,7 +4,7 @@
-
+
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 43225f85fea..2192546b2b5 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -6,9 +6,9 @@ This file should be imported by eng/Versions.props
- 10.0.0-beta.26167.113
- 10.0.0-beta.26167.113
- 10.0.0-beta.26167.113
+ 10.0.0-beta.26168.104
+ 10.0.0-beta.26168.104
+ 10.0.0-beta.26168.104
10.0.6
10.0.6
10.0.6
@@ -16,10 +16,10 @@ This file should be imported by eng/Versions.props
10.0.6
10.0.6
10.0.6
- 10.0.6-servicing.26167.113
+ 10.0.6-servicing.26168.104
10.0.6
10.0.6
- 10.0.6-servicing.26167.113
+ 10.0.6-servicing.26168.104
10.0.6
10.0.6
10.0.6
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 7e823f2a948..ad05902acac 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,80 +1,80 @@
-
+
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
-
+
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
-
+
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
-
+
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
-
+
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
-
+
https://github.com/dotnet/dotnet
- 9ef4d9ac387ed2d1ae00ad1be13b6f495c0c25c7
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
diff --git a/global.json b/global.json
index b6379446b22..577d7b9ff6f 100644
--- a/global.json
+++ b/global.json
@@ -18,7 +18,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26167.113",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26167.113"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26168.104",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26168.104"
}
}
From b4828a5b6ead7d8152003fe67c5c02741f20209c Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Fri, 20 Mar 2026 21:40:47 +0000
Subject: [PATCH 03/10] Update dependencies from build 307091 (#37963)
[release/10.0] Source code updates from dotnet/dotnet
---
NuGet.config | 2 +-
eng/Version.Details.props | 10 ++++----
eng/Version.Details.xml | 48 +++++++++++++++++++--------------------
global.json | 4 ++--
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index da69c3b0712..21ac4875986 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,7 +4,7 @@
-
+
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 2192546b2b5..608770f06ab 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -6,9 +6,9 @@ This file should be imported by eng/Versions.props
- 10.0.0-beta.26168.104
- 10.0.0-beta.26168.104
- 10.0.0-beta.26168.104
+ 10.0.0-beta.26170.102
+ 10.0.0-beta.26170.102
+ 10.0.0-beta.26170.102
10.0.6
10.0.6
10.0.6
@@ -16,10 +16,10 @@ This file should be imported by eng/Versions.props
10.0.6
10.0.6
10.0.6
- 10.0.6-servicing.26168.104
+ 10.0.6-servicing.26170.102
10.0.6
10.0.6
- 10.0.6-servicing.26168.104
+ 10.0.6-servicing.26170.102
10.0.6
10.0.6
10.0.6
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index ad05902acac..1a77c6eb348 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,80 +1,80 @@
-
+
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
-
+
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
-
+
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
-
+
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
-
+
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
-
+
https://github.com/dotnet/dotnet
- 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
+ df857aec34b5feea2cfd528e7a44575aa9f75330
diff --git a/global.json b/global.json
index 577d7b9ff6f..8d066fafd68 100644
--- a/global.json
+++ b/global.json
@@ -18,7 +18,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26168.104",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26168.104"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26170.102",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26170.102"
}
}
From f24d3840537abc8ebaff5b91273f8dafaad9f631 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Mon, 23 Mar 2026 10:18:28 +0000
Subject: [PATCH 04/10] [release/10.0] Source code updates from dotnet/dotnet
(#37967)
[release/10.0] Source code updates from dotnet/dotnet
---
NuGet.config | 2 +-
eng/Version.Details.props | 10 ++++----
eng/Version.Details.xml | 48 +++++++++++++++++++--------------------
global.json | 4 ++--
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index 21ac4875986..443a87f4a16 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,7 +4,7 @@
-
+
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 608770f06ab..d627eeb3ef4 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -6,9 +6,9 @@ This file should be imported by eng/Versions.props
- 10.0.0-beta.26170.102
- 10.0.0-beta.26170.102
- 10.0.0-beta.26170.102
+ 10.0.0-beta.26172.102
+ 10.0.0-beta.26172.102
+ 10.0.0-beta.26172.102
10.0.6
10.0.6
10.0.6
@@ -16,10 +16,10 @@ This file should be imported by eng/Versions.props
10.0.6
10.0.6
10.0.6
- 10.0.6-servicing.26170.102
+ 10.0.6-servicing.26172.102
10.0.6
10.0.6
- 10.0.6-servicing.26170.102
+ 10.0.6-servicing.26172.102
10.0.6
10.0.6
10.0.6
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 1a77c6eb348..4e7b85402a7 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,80 +1,80 @@
-
+
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
-
+
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
-
+
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
-
+
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
-
+
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
-
+
https://github.com/dotnet/dotnet
- df857aec34b5feea2cfd528e7a44575aa9f75330
+ 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
diff --git a/global.json b/global.json
index 8d066fafd68..80e16afd5c2 100644
--- a/global.json
+++ b/global.json
@@ -18,7 +18,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26170.102",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26170.102"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26172.102",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26172.102"
}
}
From 91638a42b14be1579ef9a77420fae6502eb4676e Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Tue, 24 Mar 2026 06:32:16 +0000
Subject: [PATCH 05/10] Update dependencies from build 307387 (#37976)
[release/10.0] Source code updates from dotnet/dotnet
---
NuGet.config | 2 +-
eng/Version.Details.props | 10 ++++----
eng/Version.Details.xml | 48 +++++++++++++++++++--------------------
global.json | 4 ++--
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index 443a87f4a16..343d4816c35 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,7 +4,7 @@
-
+
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index d627eeb3ef4..20e3a55f73f 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -6,9 +6,9 @@ This file should be imported by eng/Versions.props
- 10.0.0-beta.26172.102
- 10.0.0-beta.26172.102
- 10.0.0-beta.26172.102
+ 10.0.0-beta.26173.108
+ 10.0.0-beta.26173.108
+ 10.0.0-beta.26173.108
10.0.6
10.0.6
10.0.6
@@ -16,10 +16,10 @@ This file should be imported by eng/Versions.props
10.0.6
10.0.6
10.0.6
- 10.0.6-servicing.26172.102
+ 10.0.6-servicing.26173.108
10.0.6
10.0.6
- 10.0.6-servicing.26172.102
+ 10.0.6-servicing.26173.108
10.0.6
10.0.6
10.0.6
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 4e7b85402a7..5561b10d808 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,80 +1,80 @@
-
+
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
-
+
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
-
+
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
-
+
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
-
+
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
-
+
https://github.com/dotnet/dotnet
- 8aa2738d3bdb38df89821c66dd8a41b9b73dc174
+ ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
diff --git a/global.json b/global.json
index 80e16afd5c2..ec6876bedec 100644
--- a/global.json
+++ b/global.json
@@ -18,7 +18,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26172.102",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26172.102"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.108",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.108"
}
}
From 46a7ac92f262d1682f37a8c45af56e7c5c386b9d Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Tue, 24 Mar 2026 08:29:15 +0000
Subject: [PATCH 06/10] Update dependencies from build 307443 (#37978)
[release/10.0] Source code updates from dotnet/dotnet
---
NuGet.config | 2 +-
eng/Version.Details.props | 10 ++++----
eng/Version.Details.xml | 48 +++++++++++++++++++--------------------
global.json | 4 ++--
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index 343d4816c35..bfba74eb154 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,7 +4,7 @@
-
+
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 20e3a55f73f..7ad73b568a3 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -6,9 +6,9 @@ This file should be imported by eng/Versions.props
- 10.0.0-beta.26173.108
- 10.0.0-beta.26173.108
- 10.0.0-beta.26173.108
+ 10.0.0-beta.26173.116
+ 10.0.0-beta.26173.116
+ 10.0.0-beta.26173.116
10.0.6
10.0.6
10.0.6
@@ -16,10 +16,10 @@ This file should be imported by eng/Versions.props
10.0.6
10.0.6
10.0.6
- 10.0.6-servicing.26173.108
+ 10.0.6-servicing.26173.116
10.0.6
10.0.6
- 10.0.6-servicing.26173.108
+ 10.0.6-servicing.26173.116
10.0.6
10.0.6
10.0.6
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 5561b10d808..7a2df0bb6f0 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,80 +1,80 @@
-
+
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
-
+
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
-
+
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
-
+
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
-
+
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
-
+
https://github.com/dotnet/dotnet
- ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7
+ 5d8e1dab0ad36dd7a893a544523ecde4a647fe09
diff --git a/global.json b/global.json
index ec6876bedec..ad0b8adf449 100644
--- a/global.json
+++ b/global.json
@@ -18,7 +18,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.108",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.108"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.116",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.116"
}
}
From 8ff6140252dd35a34bd157f7e675592c95638f0e Mon Sep 17 00:00:00 2001
From: Copilot <198982749+Copilot@users.noreply.github.com>
Date: Tue, 24 Mar 2026 10:49:33 -0700
Subject: [PATCH 07/10] [release/10.0] Fix for persisting null optional complex
property with default values (#37952)
Port of #37944
Fixes #37890
Co-authored-by: AndriySvyryd <6539701+AndriySvyryd@users.noreply.github.com>
---
.../ChangeTracking/Internal/ChangeDetector.cs | 7 ++-
.../ComplexTypesTrackingInMemoryTest.cs | 5 ++
.../ComplexTypesTrackingTestBase.cs | 50 +++++++++++++++++++
.../ComplexTypesTrackingSqlServerTest.cs | 4 ++
4 files changed, 64 insertions(+), 2 deletions(-)
diff --git a/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs b/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs
index 6497a886d8b..5d2600518a3 100644
--- a/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs
+++ b/src/EFCore/ChangeTracking/Internal/ChangeDetector.cs
@@ -21,6 +21,9 @@ public class ChangeDetector : IChangeDetector
private static readonly bool UseOldBehavior37387 =
AppContext.TryGetSwitch("Microsoft.EntityFrameworkCore.Issue37387", out var enabled) && enabled;
+ private static readonly bool UseOldBehavior37890 =
+ AppContext.TryGetSwitch("Microsoft.EntityFrameworkCore.Issue37890", out var enabled) && enabled;
+
///
/// This is an internal API that supports the Entity Framework Core infrastructure and not subject to
/// the same compatibility standards as public APIs. It may be changed or removed without notice in
@@ -339,9 +342,9 @@ public virtual bool DetectComplexPropertyChange(InternalEntryBase entry, IComple
if ((currentValue is null) != (originalValue is null))
{
- // If it changed from null to non-null, mark all inner properties as modified
+ // If it changed from null to non-null or from non-null to null, mark all inner properties as modified
// to ensure the entity is detected as modified and the complex type properties are persisted
- if (currentValue is not null)
+ if (!UseOldBehavior37890 || currentValue is not null)
{
foreach (var innerProperty in complexProperty.ComplexType.GetFlattenedProperties())
{
diff --git a/test/EFCore.InMemory.FunctionalTests/ComplexTypesTrackingInMemoryTest.cs b/test/EFCore.InMemory.FunctionalTests/ComplexTypesTrackingInMemoryTest.cs
index 720f9ef74ed..e420a64e5ce 100644
--- a/test/EFCore.InMemory.FunctionalTests/ComplexTypesTrackingInMemoryTest.cs
+++ b/test/EFCore.InMemory.FunctionalTests/ComplexTypesTrackingInMemoryTest.cs
@@ -27,6 +27,11 @@ public override Task Can_save_default_values_in_optional_complex_property_with_m
// See https://github.com/dotnet/efcore/issues/31464
=> Task.CompletedTask;
+ public override Task Can_null_complex_property_with_default_values_and_multiple_properties(bool async)
+ // InMemory provider has issues with complex type query compilation and materialization
+ // See https://github.com/dotnet/efcore/issues/31464
+ => Task.CompletedTask;
+
// Complex type collections are not supported in InMemory provider
// See https://github.com/dotnet/efcore/issues/31464
public override Task Can_change_state_from_Deleted_with_complex_collection(EntityState newState, bool async)
diff --git a/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs b/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs
index 9da17d6ac8f..4cddf3f8cd9 100644
--- a/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs
+++ b/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs
@@ -4619,6 +4619,56 @@ await ExecuteWithStrategyInTransactionAsync(
});
}
+ [ConditionalTheory]
+ [InlineData(false)]
+ [InlineData(true)]
+ public virtual async Task Can_null_complex_property_with_default_values_and_multiple_properties(bool async)
+ {
+ await ExecuteWithStrategyInTransactionAsync(
+ async context =>
+ {
+ var entity = Fixture.UseProxies
+ ? context.CreateProxy()
+ : new EntityWithOptionalMultiPropComplex();
+
+ entity.Id = Guid.NewGuid();
+ // Set the complex property with default values
+ entity.ComplexProp = new MultiPropComplex
+ {
+ IntValue = 0,
+ BoolValue = false,
+ DateValue = default,
+ };
+
+ _ = async ? await context.AddAsync(entity) : context.Add(entity);
+ _ = async ? await context.SaveChangesAsync() : context.SaveChanges();
+
+ Assert.NotNull(entity.ComplexProp);
+ },
+ async context =>
+ {
+ var entity = async
+ ? await context.Set().SingleAsync()
+ : context.Set().Single();
+
+ Assert.NotNull(entity.ComplexProp);
+
+ entity.ComplexProp = null;
+
+ _ = async ? await context.SaveChangesAsync() : context.SaveChanges();
+
+ Assert.Null(entity.ComplexProp);
+ },
+ async context =>
+ {
+ var entity = async
+ ? await context.Set().SingleAsync()
+ : context.Set().Single();
+
+ Assert.Null(entity.ComplexProp);
+ });
+ }
+
public class EntityWithOptionalMultiPropComplex
{
public virtual Guid Id { get; set; }
diff --git a/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs
index 336dfb181b9..387decc4724 100644
--- a/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/ComplexTypesTrackingSqlServerTest.cs
@@ -352,6 +352,10 @@ public override void Can_write_original_values_for_properties_of_complex_propert
public override Task Can_save_default_values_in_optional_complex_property_with_multiple_properties(bool async)
=> Task.CompletedTask;
+ // Issue #36175: Complex types with notification change tracking are not supported
+ public override Task Can_null_complex_property_with_default_values_and_multiple_properties(bool async)
+ => Task.CompletedTask;
+
// Fields can't be proxied
public override Task Can_change_state_from_Deleted_with_complex_field_collection(EntityState newState, bool async)
=> Task.CompletedTask;
From 5eb4083e387f4a5626fee78778468baa39eeccf2 Mon Sep 17 00:00:00 2001
From: Copilot <198982749+Copilot@users.noreply.github.com>
Date: Tue, 24 Mar 2026 20:06:21 +0000
Subject: [PATCH 08/10] [release/10.0] Port servicing-pr skill from main
(#37990)
Co-authored-by: AndriySvyryd <6539701+AndriySvyryd@users.noreply.github.com>
---
.agents/skills/servicing-pr/SKILL.md | 65 ++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
create mode 100644 .agents/skills/servicing-pr/SKILL.md
diff --git a/.agents/skills/servicing-pr/SKILL.md b/.agents/skills/servicing-pr/SKILL.md
new file mode 100644
index 00000000000..958d631ef92
--- /dev/null
+++ b/.agents/skills/servicing-pr/SKILL.md
@@ -0,0 +1,65 @@
+---
+name: servicing-pr
+description: 'Create EF Core PRs targeting servicing release branches (release/*). Use when working on a PR that targets a release branch, backporting a fix from main, or when the user mentions servicing, patch, or release branch.'
+---
+
+# Servicing PRs
+
+PRs targeting `release/*` branches require a specific description format and should include a quirk (AppContext switch) when applicable.
+
+## Backport Target Branch
+
+- If a version is specified, target `release/XX.0` (e.g., `backport to 10` → `release/10.0`)
+- Otherwise, find the latest `release/XX.0` branch (ignore preview branches like `release/11.0-preview2`)
+- Verify the branch exists before creating the PR
+
+## PR Title
+
+`[release/XX.0] `
+
+## PR Description Template
+
+```
+Fixes #{issue_number}
+Backports #{source_pr_number_if_applicable}
+
+**Description**
+Provide information on the bug, why it occurs and how it was introduced. Put it in terms that developers can understand without knowledge of EF Core internals.
+
+**Customer impact**
+How the bug affects users without internal technical detail. Include a short (3-4 lines) code sample if possible. If data corruption occurs, state that explicitly. If a feasible workaround exists, briefly describe it and how discoverable it is, otherwise mention that there's no workaround.
+
+**How found**
+How the bug was discovered based on the information in the issue description. If user-reported, mention "User reported on ". If multiple users are affected, note that. Count the number of upvotes and comment authors to estimate impact.
+
+**Regression**
+Whether this is a regression from an earlier EF version. Add a link to the PR that introduced the regression if known. If it only affects a feature introduced in the same major version, it is not a regression.
+
+**Testing**
+State the number of new or modified tests, don't go into details. If test coverage is unfeasible, briefly explain the alternative validation approach that was used.
+
+**Risk**
+Brief risk assessment ranked from "extremely low" to "high". Note amount of code changed. If the fix is a one-liner, mention that. If a quirk was added, mention "Quirk added".
+```
+
+## Quirk (AppContext Switch)
+
+A quirk lets users opt out of the fix at runtime, reducing patch risk. Add for all cases where it makes sense. Skip when the fix is 100% obvious/risk-free, or when the quirk couldn't be used, like in tools or analyzers.
+
+### Adding a Quirk
+
+Add in the class(es) containing code changes:
+
+```csharp
+private static readonly bool UseOldBehavior37585 =
+ AppContext.TryGetSwitch("Microsoft.EntityFrameworkCore.Issue37585", out var enabled) && enabled;
+```
+
+- Change `37585` to the relevant issue number
+- Wrap changes with a condition on `!UseOldBehavior37585` so activating the switch bypasses the fix, prefer to minimize the number of times the switch is checked
+- If the PR closes multiple issues, pick the most appropriate one for the switch name
+
+## Validation
+
+- PR description follows the template completely (all sections filled)
+- Quirk added where appropriate with issue number matching the PR description
From b85b2e303664d27116224cecc4735361d5deca84 Mon Sep 17 00:00:00 2001
From: Shay Rojansky
Date: Wed, 25 Mar 2026 00:49:16 +0200
Subject: [PATCH 09/10] [release/10.0] Fix comparison to null for split
entities (#37987)
Fixes #35293
---
...ingExpressionVisitor.StructuralEquality.cs | 29 +++++++++++++++++--
.../Query/EntitySplittingQueryTestBase.cs | 13 +++++++++
.../EntitySplittingQuerySqlServerTest.cs | 12 ++++++++
3 files changed, 51 insertions(+), 3 deletions(-)
diff --git a/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.StructuralEquality.cs b/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.StructuralEquality.cs
index 6b68a6ebf78..aad23dd620e 100644
--- a/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.StructuralEquality.cs
+++ b/src/EFCore.Relational/Query/RelationalSqlTranslatingExpressionVisitor.StructuralEquality.cs
@@ -15,6 +15,9 @@ namespace Microsoft.EntityFrameworkCore.Query;
// context.Customers.Where(c => c.ShippingAddress == c.BillingAddress)
public partial class RelationalSqlTranslatingExpressionVisitor
{
+ private static readonly bool UseOldBehavior35293 =
+ AppContext.TryGetSwitch("Microsoft.EntityFrameworkCore.Issue35293", out var enabled) && enabled;
+
private static readonly MethodInfo ParameterValueExtractorMethod =
typeof(RelationalSqlTranslatingExpressionVisitor).GetTypeInfo().GetDeclaredMethod(nameof(ParameterValueExtractor))!;
@@ -159,9 +162,29 @@ bool TryRewriteEntityEquality([NotNullWhen(true)] out SqlExpression? result)
if (nullComparedEntityType.GetRootType() == nullComparedEntityType
&& nullComparedEntityType.GetMappingStrategy() != RelationalAnnotationNames.TpcMappingStrategy)
{
- var table = nullComparedEntityType.GetViewOrTableMappings().SingleOrDefault()?.Table
- ?? nullComparedEntityType.GetDefaultMappings().Single().Table;
- if (table.IsOptional(nullComparedEntityType))
+ ITableBase? table;
+ if (UseOldBehavior35293)
+ {
+ table = nullComparedEntityType.GetViewOrTableMappings().SingleOrDefault()?.Table
+ ?? nullComparedEntityType.GetDefaultMappings().Single().Table;
+ }
+ else
+ {
+ table = nullComparedEntityType.GetViewOrTableMappings().ToList() switch
+ {
+ [var singleMapping] => singleMapping.Table,
+
+ // For entity splitting we get multiple table mappings, but can simply choose the principal table.
+ var multipleMappings when multipleMappings.SingleOrDefault(
+ m => m.IsSplitEntityTypePrincipal is true)
+ is { Table: var principalSplitTable }
+ => principalSplitTable,
+
+ _ => null
+ };
+ }
+
+ if (table?.IsOptional(nullComparedEntityType) is true)
{
Expression? condition = null;
// Optional dependent sharing table
diff --git a/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs
index c330142a670..bfecf160bc9 100644
--- a/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs
+++ b/test/EFCore.Relational.Specification.Tests/Query/EntitySplittingQueryTestBase.cs
@@ -2242,6 +2242,19 @@ await AssertQuery(
entryCount: 7);
}
+ [ConditionalTheory, MemberData(nameof(IsAsyncData))]
+ public virtual async Task Compare_split_entity_to_null(bool async)
+ {
+ await InitializeContextFactoryAsync(mb => mb
+ .Entity()
+ .SplitToTable("SplitEntityOnePart", tb => tb.Property(e => e.IntValue3)));
+
+ await AssertQuery(
+ async,
+ ss => ss.Set().Where(e => e != null),
+ entryCount: 5);
+ }
+
#region TestHelpers
protected async Task AssertQuery(
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs
index 2d968ce0ffa..146fb522223 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs
@@ -778,4 +778,16 @@ public override async Task Tpc_entity_owning_a_split_collection_on_leaf(bool asy
AssertSql();
}
+
+ public override async Task Compare_split_entity_to_null(bool async)
+ {
+ await base.Compare_split_entity_to_null(async);
+
+ AssertSql(
+ """
+SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s].[IntValue3], [e].[IntValue4], [e].[StringValue1], [e].[StringValue2], [e].[StringValue3], [e].[StringValue4]
+FROM [EntityOne] AS [e]
+INNER JOIN [SplitEntityOnePart] AS [s] ON [e].[Id] = [s].[Id]
+""");
+ }
}
From 1401f1a2d74b7ad3a90ff44cc57f83afa73a3b8f Mon Sep 17 00:00:00 2001
From: Andriy Svyryd
Date: Tue, 24 Mar 2026 17:07:21 -0700
Subject: [PATCH 10/10] Remove duplicate test
---
.../ComplexTypesTrackingTestBase.cs | 50 -------------------
1 file changed, 50 deletions(-)
diff --git a/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs b/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs
index 1f9efc9a897..29ab2808946 100644
--- a/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs
+++ b/test/EFCore.Specification.Tests/ComplexTypesTrackingTestBase.cs
@@ -2014,56 +2014,6 @@ public virtual void Throws_when_accessing_complex_entries_using_incorrect_cardin
Assert.Throws(() => entry.ComplexCollection(e => (IList)e.FeaturedTeam)).Message);
}
- [ConditionalTheory]
- [InlineData(false)]
- [InlineData(true)]
- public virtual async Task Can_null_complex_property_with_default_values_and_multiple_properties(bool async)
- {
- await ExecuteWithStrategyInTransactionAsync(
- async context =>
- {
- var entity = Fixture.UseProxies
- ? context.CreateProxy()
- : new EntityWithOptionalMultiPropComplex();
-
- entity.Id = Guid.NewGuid();
- // Set the complex property with default values
- entity.ComplexProp = new MultiPropComplex
- {
- IntValue = 0,
- BoolValue = false,
- DateValue = default,
- };
-
- _ = async ? await context.AddAsync(entity) : context.Add(entity);
- _ = async ? await context.SaveChangesAsync() : context.SaveChanges();
-
- Assert.NotNull(entity.ComplexProp);
- },
- async context =>
- {
- var entity = async
- ? await context.Set().SingleAsync()
- : context.Set().Single();
-
- Assert.NotNull(entity.ComplexProp);
-
- entity.ComplexProp = null;
-
- _ = async ? await context.SaveChangesAsync() : context.SaveChanges();
-
- Assert.Null(entity.ComplexProp);
- },
- async context =>
- {
- var entity = async
- ? await context.Set().SingleAsync()
- : context.Set().Single();
-
- Assert.Null(entity.ComplexProp);
- });
- }
-
protected void AssertPropertyValues(EntityEntry entry)
{
Assert.Equal("The FBI", entry.Property("Name").CurrentValue);