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