diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 7c26f106e24..d20656a1da0 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -61,10 +61,6 @@
https://github.com/dotnet/corefx
11eba7947e9736109c588a1cfcb77987cb80f570
-
- https://github.com/dotnet/corefx
- 11eba7947e9736109c588a1cfcb77987cb80f570
-
https://github.com/dotnet/corefx
11eba7947e9736109c588a1cfcb77987cb80f570
diff --git a/eng/Versions.props b/eng/Versions.props
index 155b15582c4..80fea5428a3 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -27,6 +27,7 @@
1.1.1-beta.61
3.2.0
0.11.3
+ 1.0.19128.1-Preview
3.0.0-preview6.19273.3
@@ -42,7 +43,6 @@
3.0.0-preview6.19270.15
1.6.0-preview6.19270.15
4.6.0-preview6.19270.15
- 4.7.0-preview6.19270.15
4.6.0-preview6.19270.15
diff --git a/eng/common/PublishToPackageFeed.proj b/eng/common/PublishToPackageFeed.proj
index 9120b2d2129..e17f72644e3 100644
--- a/eng/common/PublishToPackageFeed.proj
+++ b/eng/common/PublishToPackageFeed.proj
@@ -53,7 +53,6 @@
https://dotnetfeed.blob.core.windows.net/dotnet-toolset/index.json
https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json
https://dotnetfeed.blob.core.windows.net/nuget-nugetclient/index.json
- https://dotnetfeed.blob.core.windows.net/aspnet-entityframework6/index.json
Build configuration: 'Debug' or 'Release' (short: -c)"
- Write-Host " -platform Platform configuration: 'x86', 'x64' or any valid Platform value to pass to msbuild"
Write-Host " -verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] (short: -v)"
Write-Host " -binaryLog Output binary log (short: -bl)"
Write-Host " -help Print help and exit"
@@ -79,7 +77,6 @@ function Build {
InitializeCustomToolset
$bl = if ($binaryLog) { "/bl:" + (Join-Path $LogDir "Build.binlog") } else { "" }
- $platformArg = if ($platform) { "/p:Platform=$platform" } else { "" }
if ($projects) {
# Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons.
@@ -91,7 +88,6 @@ function Build {
MSBuild $toolsetBuildProj `
$bl `
- $platformArg `
/p:Configuration=$configuration `
/p:RepoRoot=$RepoRoot `
/p:Restore=$restore `
diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh
index 34d3d2ba1fe..83ec39195cd 100644
--- a/eng/common/cross/build-rootfs.sh
+++ b/eng/common/cross/build-rootfs.sh
@@ -2,7 +2,7 @@
usage()
{
- echo "Usage: $0 [BuildArch] [LinuxCodeName] [lldbx.y] [--skipunmount] --rootfsdir ]"
+ echo "Usage: $0 [BuildArch] [LinuxCodeName] [lldbx.y] [--skipunmount] --rootfs ]"
echo "BuildArch can be: arm(default), armel, arm64, x86"
echo "LinuxCodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine"
@@ -113,12 +113,12 @@ while :; do
__LinuxCodeName=trusty
fi
;;
- xenial) # Ubuntu 16.04
+ xenial) # Ubunry 16.04
if [ "$__LinuxCodeName" != "jessie" ]; then
__LinuxCodeName=xenial
fi
;;
- zesty) # Ubuntu 17.04
+ zesty) # Ununtu 17.04
if [ "$__LinuxCodeName" != "jessie" ]; then
__LinuxCodeName=zesty
fi
@@ -132,16 +132,7 @@ while :; do
__LinuxCodeName=jessie
__UbuntuRepo="http://ftp.debian.org/debian/"
;;
- stretch) # Debian 9
- __LinuxCodeName=stretch
- __UbuntuRepo="http://ftp.debian.org/debian/"
- __LLDB_Package="liblldb-6.0-dev"
- ;;
- buster) # Debian 10
- __LinuxCodeName=buster
- __UbuntuRepo="http://ftp.debian.org/debian/"
- __LLDB_Package="liblldb-6.0-dev"
- ;;
+ # TBD Stretch -> Debian 9, Buster -> Debian 10
tizen)
if [ "$__BuildArch" != "armel" ]; then
echo "Tizen is available only for armel."
diff --git a/eng/common/darc-init.ps1 b/eng/common/darc-init.ps1
index dea7cdd903b..823d72a3725 100644
--- a/eng/common/darc-init.ps1
+++ b/eng/common/darc-init.ps1
@@ -1,6 +1,5 @@
param (
- $darcVersion = $null,
- $versionEndpoint = "https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16"
+ $darcVersion = $null
)
$verbosity = "m"
@@ -17,10 +16,10 @@ function InstallDarcCli ($darcVersion) {
Invoke-Expression "& `"$dotnet`" tool uninstall $darcCliPackageName -g"
}
- # If the user didn't explicitly specify the darc version,
- # query the Maestro API for the correct version of darc to install.
+ # Until we can anonymously query the BAR API for the latest arcade-services
+ # build applied to the PROD channel, this is hardcoded.
if (-not $darcVersion) {
- $darcVersion = $(Invoke-WebRequest -Uri $versionEndpoint -UseBasicParsing).Content
+ $darcVersion = '1.1.0-beta.19258.3'
}
$arcadeServicesSource = 'https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json'
diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh
index abdd0bc05a1..36d675738b4 100755
--- a/eng/common/darc-init.sh
+++ b/eng/common/darc-init.sh
@@ -1,8 +1,7 @@
#!/usr/bin/env bash
source="${BASH_SOURCE[0]}"
-darcVersion=''
-versionEndpoint="https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16"
+darcVersion="1.1.0-beta.19258.3"
while [[ $# > 0 ]]; do
opt="$(echo "$1" | awk '{print tolower($0)}')"
@@ -11,10 +10,6 @@ while [[ $# > 0 ]]; do
darcVersion=$2
shift
;;
- --versionendpoint)
- versionEndpoint=$2
- shift
- ;;
*)
echo "Invalid argument: $1"
usage
@@ -38,10 +33,6 @@ verbosity=m
. "$scriptroot/tools.sh"
-if [ -z "$darcVersion" ]; then
- darcVersion=$(curl -X GET "$versionEndpoint" -H "accept: text/plain")
-fi
-
function InstallDarcCli {
local darc_cli_package_name="microsoft.dotnet.darc"
@@ -56,7 +47,7 @@ function InstallDarcCli {
local arcadeServicesSource="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json"
- echo "Installing Darc CLI version $darcVersion..."
+ echo "Installing Darc CLI version $toolset_version..."
echo "You may need to restart your command shell if this is the first dotnet tool you have installed."
echo $($dotnet_root/dotnet tool install $darc_cli_package_name --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity -g)
}
diff --git a/eng/common/dotnet-install.ps1 b/eng/common/dotnet-install.ps1
index 0b629b8301a..5987943fd6f 100644
--- a/eng/common/dotnet-install.ps1
+++ b/eng/common/dotnet-install.ps1
@@ -8,14 +8,9 @@ Param(
. $PSScriptRoot\tools.ps1
-$dotnetRoot = Join-Path $RepoRoot ".dotnet"
-
-$installdir = $dotnetRoot
try {
- if ($architecture -and $architecture.Trim() -eq "x86") {
- $installdir = Join-Path $installdir "x86"
- }
- InstallDotNet $installdir $version $architecture $runtime $true
+ $dotnetRoot = Join-Path $RepoRoot ".dotnet"
+ InstallDotNet $dotnetRoot $version $architecture $runtime $true
}
catch {
Write-Host $_
@@ -24,4 +19,4 @@ catch {
ExitWithExitCode 1
}
-ExitWithExitCode 0
+ExitWithExitCode 0
\ No newline at end of file
diff --git a/global.json b/global.json
index e23ec5b0199..7c0af94526b 100644
--- a/global.json
+++ b/global.json
@@ -12,6 +12,6 @@
"version": "3.0.100-preview5-011568"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19270.2"
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19264.2"
}
}
diff --git a/src/EFCore.Relational/Query/Pipeline/NullSemanticsRewritingVisitor.cs b/src/EFCore.Relational/Query/Pipeline/NullSemanticsRewritingVisitor.cs
index eeac58f64eb..6a65d27986b 100644
--- a/src/EFCore.Relational/Query/Pipeline/NullSemanticsRewritingVisitor.cs
+++ b/src/EFCore.Relational/Query/Pipeline/NullSemanticsRewritingVisitor.cs
@@ -54,6 +54,12 @@ protected override Expression VisitExtension(Expression extensionExpression)
case LeftJoinExpression leftJoinExpression:
return VisitLeftJoinExpression(leftJoinExpression);
+ case SubSelectExpression subSelectExpression:
+ var result = base.VisitExtension(subSelectExpression);
+ _isNullable = true;
+
+ return result;
+
default:
return base.VisitExtension(extensionExpression);
}
diff --git a/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs b/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs
index cc701b3ff60..3126dd3c168 100644
--- a/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs
+++ b/src/EFCore.SqlServer.NTS/Storage/Internal/SqlServerGeometryTypeMapping.cs
@@ -3,13 +3,13 @@
using System;
using System.Data.Common;
-using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Reflection;
using System.Text;
using GeoAPI;
using GeoAPI.Geometries;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.SqlServer.Storage.ValueConversion.Internal;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
diff --git a/src/EFCore.SqlServer/EFCore.SqlServer.csproj b/src/EFCore.SqlServer/EFCore.SqlServer.csproj
index 0efa3424053..35dfa22de64 100644
--- a/src/EFCore.SqlServer/EFCore.SqlServer.csproj
+++ b/src/EFCore.SqlServer/EFCore.SqlServer.csproj
@@ -21,7 +21,7 @@
-
+
diff --git a/src/EFCore.SqlServer/Extensions/SqlServerDbContextOptionsBuilderExtensions.cs b/src/EFCore.SqlServer/Extensions/SqlServerDbContextOptionsBuilderExtensions.cs
index de8a3f97798..39851c69f9f 100644
--- a/src/EFCore.SqlServer/Extensions/SqlServerDbContextOptionsBuilderExtensions.cs
+++ b/src/EFCore.SqlServer/Extensions/SqlServerDbContextOptionsBuilderExtensions.cs
@@ -3,8 +3,8 @@
using System;
using System.Data.Common;
-using System.Data.SqlClient;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal;
diff --git a/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs b/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs
index b0789b648fe..3022afa2459 100644
--- a/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs
+++ b/src/EFCore.SqlServer/Scaffolding/Internal/SqlServerDatabaseModelFactory.cs
@@ -5,13 +5,13 @@
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
-using System.Data.SqlClient;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
@@ -570,7 +570,7 @@ private void GetColumns(
[c].[is_identity],
[dc].[definition] AS [default_sql],
[cc].[definition] AS [computed_sql]
-FROM
+FROM
(
SELECT[v].[name], [v].[object_id], [v].[schema_id]
FROM [sys].[views] v WHERE ";
diff --git a/src/EFCore.SqlServer/SqlServerRetryingExecutionStrategy.cs b/src/EFCore.SqlServer/SqlServerRetryingExecutionStrategy.cs
index da7ccf62141..ec38c45a199 100644
--- a/src/EFCore.SqlServer/SqlServerRetryingExecutionStrategy.cs
+++ b/src/EFCore.SqlServer/SqlServerRetryingExecutionStrategy.cs
@@ -3,8 +3,8 @@
using System;
using System.Collections.Generic;
-using System.Data.SqlClient;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal;
using Microsoft.EntityFrameworkCore.Storage;
diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs
index 031b65c3d70..300a6ecf468 100644
--- a/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs
+++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerConnection.cs
@@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Data.Common;
-using System.Data.SqlClient;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.DependencyInjection;
diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs
index d4e0aaf6f5d..2e3add29513 100644
--- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs
+++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDatabaseCreator.cs
@@ -3,11 +3,11 @@
using System;
using System.Collections.Generic;
-using System.Data.SqlClient;
using System.Threading;
using System.Threading.Tasks;
using System.Transactions;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Migrations.Operations;
using Microsoft.EntityFrameworkCore.SqlServer.Internal;
@@ -269,23 +269,23 @@ private static bool IsDoesNotExist(SqlException exception) =>
private bool RetryOnExistsFailure(SqlException exception)
{
// This is to handle the case where Open throws (Number 233):
- // System.Data.SqlClient.SqlException: A connection was successfully established with the
+ // Microsoft.Data.SqlClient.SqlException: A connection was successfully established with the
// server, but then an error occurred during the login process. (provider: Named Pipes
// Provider, error: 0 - No process is on the other end of the pipe.)
// It appears that this happens when the database has just been created but has not yet finished
// opening or is auto-closing when using the AUTO_CLOSE option. The workaround is to flush the pool
// for the connection and then retry the Open call.
// Also handling (Number -2):
- // System.Data.SqlClient.SqlException: Connection Timeout Expired. The timeout period elapsed while
+ // Microsoft.Data.SqlClient.SqlException: Connection Timeout Expired. The timeout period elapsed while
// attempting to consume the pre-login handshake acknowledgment. This could be because the pre-login
// handshake failed or the server was unable to respond back in time.
// And (Number 4060):
- // System.Data.SqlClient.SqlException: Cannot open database "X" requested by the login. The
+ // Microsoft.Data.SqlClient.SqlException: Cannot open database "X" requested by the login. The
// login failed.
// And (Number 1832)
- // System.Data.SqlClient.SqlException: Unable to Attach database file as database xxxxxxx.
+ // Microsoft.Data.SqlClient.SqlException: Unable to Attach database file as database xxxxxxx.
// And (Number 5120)
- // System.Data.SqlClient.SqlException: Unable to open the physical file xxxxxxx.
+ // Microsoft.Data.SqlClient.SqlException: Unable to open the physical file xxxxxxx.
if (exception.Number == 233
|| exception.Number == -2
|| exception.Number == 4060
diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs
index f55fcf4772a..4a779fc08e7 100644
--- a/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs
+++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerDateTimeTypeMapping.cs
@@ -3,8 +3,8 @@
using System.Data;
using System.Data.Common;
-using System.Data.SqlClient;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.Storage;
namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal
diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs
index 0978f2a40ed..bae11c13446 100644
--- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs
+++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTimeSpanTypeMapping.cs
@@ -3,8 +3,8 @@
using System.Data;
using System.Data.Common;
-using System.Data.SqlClient;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
using Microsoft.EntityFrameworkCore.Storage;
namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal
diff --git a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs
index aba108a1022..1dd318a92e3 100644
--- a/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs
+++ b/src/EFCore.SqlServer/Storage/Internal/SqlServerTransientExceptionDetector.cs
@@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
using JetBrains.Annotations;
+using Microsoft.Data.SqlClient; // Note: Hard reference to SqlClient here.
namespace Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal
{
diff --git a/test/EFCore.Design.Tests/TestUtilities/BuildSource.cs b/test/EFCore.Design.Tests/TestUtilities/BuildSource.cs
index 0054b797a5d..2b578f5c48d 100644
--- a/test/EFCore.Design.Tests/TestUtilities/BuildSource.cs
+++ b/test/EFCore.Design.Tests/TestUtilities/BuildSource.cs
@@ -24,7 +24,7 @@ public class BuildSource
BuildReference.ByName("System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"),
BuildReference.ByName("System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"),
BuildReference.ByName("System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"),
- BuildReference.ByName("System.Data.SqlClient", true),
+ BuildReference.ByName("Microsoft.Data.SqlClient", true),
BuildReference.ByName("System.Diagnostics.DiagnosticSource", true),
BuildReference.ByName("System.ValueTuple", true)
#elif NETCOREAPP3_0
@@ -32,7 +32,7 @@ public class BuildSource
BuildReference.ByName("System.Collections"),
BuildReference.ByName("System.ComponentModel.Annotations"),
BuildReference.ByName("System.Data.Common"),
- BuildReference.ByName("System.Data.SqlClient"),
+ BuildReference.ByName("Microsoft.Data.SqlClient"),
BuildReference.ByName("System.Linq.Expressions"),
BuildReference.ByName("System.Runtime"),
BuildReference.ByName("System.Runtime.Extensions"),
diff --git a/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs b/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs
index f05c0e32072..b3074871455 100644
--- a/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs
+++ b/test/EFCore.Specification.Tests/Query/ComplexNavigationsQueryTestBase.cs
@@ -6256,7 +6256,7 @@ orderby l4.Id
}
}
- [ConditionalTheory]
+ [ConditionalTheory(Skip = "issue #15798")]
[MemberData(nameof(IsAsyncData))]
public virtual Task Member_pushdown_with_multiple_collections(bool isAsync)
{
diff --git a/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs b/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs
index 4258104d34e..c187340f723 100644
--- a/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/ConnectionSpecificationTest.cs
@@ -3,10 +3,9 @@
using System;
using System.Collections.Generic;
-using System.Data.SqlClient;
using System.Linq;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Diagnostics;
-using Microsoft.EntityFrameworkCore.Internal;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
diff --git a/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs b/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs
index 4dd34ac7739..388f39744eb 100644
--- a/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/ExecutionStrategyTest.cs
@@ -112,7 +112,7 @@ private void Test_commit_failure(bool realFailure, Action l.Id == CoreEventId.ExecutionStrategyRetrying);
diff --git a/test/EFCore.SqlServer.FunctionalTests/ExistingConnectionTest.cs b/test/EFCore.SqlServer.FunctionalTests/ExistingConnectionTest.cs
index 6de809e7fa6..937047fb7e8 100644
--- a/test/EFCore.SqlServer.FunctionalTests/ExistingConnectionTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/ExistingConnectionTest.cs
@@ -3,8 +3,8 @@
using System;
using System.Data;
-using System.Data.SqlClient;
using System.Threading.Tasks;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Microsoft.Extensions.DependencyInjection;
using Xunit;
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs
index f4e1121bef8..2643bb37044 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs
@@ -4598,7 +4598,7 @@ public override void Member_pushdown_chain_3_levels_deep()
AssertSql(
@"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id]
FROM [LevelOne] AS [l]
-WHERE (
+WHERE ((
SELECT TOP(1) (
SELECT TOP(1) (
SELECT TOP(1) [l0].[Name]
@@ -4609,10 +4609,21 @@ FROM [LevelThree] AS [l1]
WHERE [l1].[Level2_Required_Id] = [l2].[Id]
ORDER BY [l1].[Id])
FROM [LevelTwo] AS [l2]
- WHERE [l2].[Level1_Optional_Id] = [l].[Id]
- ORDER BY [l2].[Id]) <> N'Foo'
+ WHERE ([l2].[Level1_Optional_Id] = [l].[Id]) AND [l2].[Level1_Optional_Id] IS NOT NULL
+ ORDER BY [l2].[Id]) <> N'Foo') OR (
+ SELECT TOP(1) (
+ SELECT TOP(1) (
+ SELECT TOP(1) [l0].[Name]
+ FROM [LevelFour] AS [l0]
+ WHERE [l0].[Level3_Required_Id] = [l1].[Id]
+ ORDER BY [l0].[Id])
+ FROM [LevelThree] AS [l1]
+ WHERE [l1].[Level2_Required_Id] = [l2].[Id]
+ ORDER BY [l1].[Id])
+ FROM [LevelTwo] AS [l2]
+ WHERE ([l2].[Level1_Optional_Id] = [l].[Id]) AND [l2].[Level1_Optional_Id] IS NOT NULL
+ ORDER BY [l2].[Id]) IS NULL
ORDER BY [l].[Id]");
-
}
public override void Member_pushdown_with_collection_navigation_in_the_middle()
@@ -4628,7 +4639,7 @@ FROM [LevelFour] AS [l]
WHERE [l].[Level3_Required_Id] = [l0].[Id]
ORDER BY [l].[Id])
FROM [LevelThree] AS [l0]
- WHERE [l1].[Id] = [l0].[OneToMany_Optional_Inverse3Id])
+ WHERE ([l1].[Id] = [l0].[OneToMany_Optional_Inverse3Id]) AND [l0].[OneToMany_Optional_Inverse3Id] IS NOT NULL)
FROM [LevelTwo] AS [l1]
WHERE [l1].[Level1_Required_Id] = [l2].[Id]
ORDER BY [l1].[Id])
@@ -4641,16 +4652,7 @@ public override async Task Member_pushdown_with_multiple_collections(bool isAsyn
await base.Member_pushdown_with_multiple_collections(isAsync);
AssertSql(
- @"SELECT (
- SELECT TOP(1) [l].[Name]
- FROM [LevelThree] AS [l]
- WHERE [l].[OneToMany_Optional_Inverse3Id] = (
- SELECT TOP(1) [l0].[Id]
- FROM [LevelTwo] AS [l0]
- WHERE [l1].[Id] = [l0].[OneToMany_Optional_Inverse2Id]
- ORDER BY [l0].[Id])
- ORDER BY [l].[Id])
-FROM [LevelOne] AS [l1]");
+ @"");
}
private void AssertSql(params string[] expected)
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/DbFunctionsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/DbFunctionsSqlServerTest.cs
index 8f5bce1ca34..104cae5f584 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/DbFunctionsSqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/DbFunctionsSqlServerTest.cs
@@ -2,9 +2,9 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
using System.Linq;
using System.Threading.Tasks;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.SqlServer.Internal;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Microsoft.EntityFrameworkCore.TestUtilities.Xunit;
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs
index 1e94bd0feb2..104996adbe2 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs
@@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Data.Common;
-using System.Data.SqlClient;
using System.Linq;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit;
using Xunit.Abstractions;
@@ -62,7 +62,7 @@ public override void FromSqlRaw_queryable_composed_after_removing_whitespaces()
@"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region]
FROM (
-
+
SELECT
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NavigationTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NavigationTest.cs
index fa3d78aad67..6bb19f2ce21 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/NavigationTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/NavigationTest.cs
@@ -3,8 +3,8 @@
using System;
using System.Collections.Generic;
-using System.Data.SqlClient;
using System.Linq;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Microsoft.Extensions.DependencyInjection;
using Xunit;
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs
index dc3ca3e20ad..a444f3016bc 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs
@@ -6,15 +6,14 @@
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.Data;
-using System.Data.SqlClient;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Internal;
using Microsoft.EntityFrameworkCore.Query.Internal;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Microsoft.Extensions.Caching.Memory;
diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs
index 6a9514479c1..5865d3e767e 100644
--- a/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs
@@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Data.Common;
-using System.Data.SqlClient;
using System.Threading.Tasks;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit.Abstractions;
diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs
index a3181fbd3c8..20b7c2e3cc7 100644
--- a/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/SqlAzure/SqlAzureConnectionTest.cs
@@ -2,7 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Data;
-using System.Data.SqlClient;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.SqlAzure.Model;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Microsoft.EntityFrameworkCore.TestUtilities.Xunit;
diff --git a/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs b/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs
index c7ced32a65f..4186994d0e5 100644
--- a/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/SqlServerDatabaseCreatorTest.cs
@@ -3,10 +3,10 @@
using System;
using System.Data;
-using System.Data.SqlClient;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.SqlServer.Internal;
using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal;
diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlExceptionFactory.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlExceptionFactory.cs
index 75bc826e4d4..91464549c58 100644
--- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlExceptionFactory.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlExceptionFactory.cs
@@ -2,9 +2,9 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
using System.Linq;
using System.Reflection;
+using Microsoft.Data.SqlClient;
namespace Microsoft.EntityFrameworkCore.TestUtilities
{
diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConditionAttribute.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConditionAttribute.cs
index 54ecaf7d22e..8b27d218df7 100644
--- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConditionAttribute.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConditionAttribute.cs
@@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
using System.Linq;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.TestUtilities.Xunit;
using Xunit.Sdk;
diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConfiguredConditionAttribute.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConfiguredConditionAttribute.cs
index b86c8cd5795..42702fcf2eb 100644
--- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConfiguredConditionAttribute.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerConfiguredConditionAttribute.cs
@@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
using System.Runtime.InteropServices;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.TestUtilities.Xunit;
namespace Microsoft.EntityFrameworkCore.TestUtilities
diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestHelpers.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestHelpers.cs
index 4f4727143e6..741096a5c28 100644
--- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestHelpers.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestHelpers.cs
@@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-using System.Data.SqlClient;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs
index 535ec9e924f..48dde886d6e 100644
--- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/SqlServerTestStore.cs
@@ -5,13 +5,13 @@
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
-using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
+using Microsoft.Data.SqlClient;
#pragma warning disable IDE0022 // Use block body for methods
// ReSharper disable SuggestBaseTypeForParameter
diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestEnvironment.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestEnvironment.cs
index 5e78b26b3b0..41d7688ccb1 100644
--- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestEnvironment.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestEnvironment.cs
@@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
using System.IO;
+using Microsoft.Data.SqlClient;
using Microsoft.Extensions.Configuration;
namespace Microsoft.EntityFrameworkCore.TestUtilities
diff --git a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs
index 2dee7c86241..e483f357b05 100644
--- a/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs
+++ b/test/EFCore.SqlServer.FunctionalTests/TestUtilities/TestSqlServerRetryingExecutionStrategy.cs
@@ -2,7 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Storage;
namespace Microsoft.EntityFrameworkCore.TestUtilities
diff --git a/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs b/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs
index 5b3d2faca11..73a31b64182 100644
--- a/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs
+++ b/test/EFCore.SqlServer.Tests/Migrations/SqlServerHistoryRepositoryTest.cs
@@ -2,7 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit;
diff --git a/test/EFCore.SqlServer.Tests/SqlServerConnectionTest.cs b/test/EFCore.SqlServer.Tests/SqlServerConnectionTest.cs
index e0c7dca8ed1..1c18fe5cb0b 100644
--- a/test/EFCore.SqlServer.Tests/SqlServerConnectionTest.cs
+++ b/test/EFCore.SqlServer.Tests/SqlServerConnectionTest.cs
@@ -1,9 +1,8 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-using System.Data.SqlClient;
using System.Diagnostics;
-using Microsoft.EntityFrameworkCore.Diagnostics;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Internal;
using Microsoft.EntityFrameworkCore.SqlServer.Diagnostics.Internal;
using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal;
diff --git a/test/EFCore.SqlServer.Tests/SqlServerDatabaseCreatorTest.cs b/test/EFCore.SqlServer.Tests/SqlServerDatabaseCreatorTest.cs
index 125a250fb17..1fe0f68d661 100644
--- a/test/EFCore.SqlServer.Tests/SqlServerDatabaseCreatorTest.cs
+++ b/test/EFCore.SqlServer.Tests/SqlServerDatabaseCreatorTest.cs
@@ -3,9 +3,9 @@
using System;
using System.Collections.Generic;
-using System.Data.SqlClient;
using System.Threading;
using System.Threading.Tasks;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Internal;
diff --git a/test/EFCore.SqlServer.Tests/SqlServerDbContextOptionsExtensionsTest.cs b/test/EFCore.SqlServer.Tests/SqlServerDbContextOptionsExtensionsTest.cs
index 95c604c8482..98a07887d9e 100644
--- a/test/EFCore.SqlServer.Tests/SqlServerDbContextOptionsExtensionsTest.cs
+++ b/test/EFCore.SqlServer.Tests/SqlServerDbContextOptionsExtensionsTest.cs
@@ -1,8 +1,8 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-using System.Data.SqlClient;
using System.Linq;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal;
using Xunit;
diff --git a/test/EFCore.SqlServer.Tests/SqlServerValueGeneratorCacheTest.cs b/test/EFCore.SqlServer.Tests/SqlServerValueGeneratorCacheTest.cs
index ca8584ad64a..51f89f7c92d 100644
--- a/test/EFCore.SqlServer.Tests/SqlServerValueGeneratorCacheTest.cs
+++ b/test/EFCore.SqlServer.Tests/SqlServerValueGeneratorCacheTest.cs
@@ -2,9 +2,8 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
-using System.Data.SqlClient;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.Diagnostics;
-using Microsoft.EntityFrameworkCore.Internal;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.SqlServer.ValueGeneration.Internal;
using Microsoft.EntityFrameworkCore.TestUtilities;
diff --git a/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingTest.cs b/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingTest.cs
index 50837ad7b5c..94f6c5962be 100644
--- a/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingTest.cs
+++ b/test/EFCore.SqlServer.Tests/Storage/SqlServerTypeMappingTest.cs
@@ -4,15 +4,14 @@
using System;
using System.Data;
using System.Data.Common;
-using System.Data.SqlClient;
using System.Globalization;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
+using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal;
using Microsoft.EntityFrameworkCore.TestUtilities;
-using Microsoft.Extensions.DependencyInjection;
using Xunit;
// ReSharper disable InconsistentNaming